Χαρακτηριστικά και λειτουργίες
Χαρακτηριστικά και λειτουργίες
Αυτή η σελίδα καλύπτει κάθε κύριο χαρακτηριστικό της Ετικέτες ΑΡΧΙΚΗ ΣΕΒΑΛΙΔΙΑ 26.3 Με τα παραδείγματα του Python.
Διαβάστε τα αρχεία MSG
Κατεβάστε ένα αρχείο MSG και να έχετε πρόσβαση στις βασικές ιδιότητές του:
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.from_file("message.msg")
print(f"Subject: {msg.subject}")
print(f"Body: {msg.body}")
print(f"HTML Body: {msg.body_html}")
print(f"Message Class: {msg.message_class}")Δημιουργία αρχείων MSG
Δημιουργήστε ένα νέο μήνυμα από το scratch:
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.create("Meeting Notes", "Please find the notes attached.")
msg.save("new_message.msg")Εισάγετε το θέμα και το σώμα σε ένα υπάρχον μήνυμα:
msg.subject = "Updated Subject"
msg.body = "Updated body text"
msg.save("updated.msg")Αποδεκτές
Προσθήκη αποδέκτων με ονόματα και τύπους προβολής:
from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC
msg = MapiMessage.create("Hello", "Message body")
msg.add_recipient("alice@example.com", display_name="Alice Smith")
msg.add_recipient("bob@example.com", display_name="Bob Jones", recipient_type=RECIPIENT_TYPE_CC)
msg.save("with_recipients.msg")ΑΣΤΥΝΟΜΙΑ
Προσθήκη binary αρχείων:
with open("report.pdf", "rb") as f:
data = f.read()
msg.add_attachment("report.pdf", data, mime_type="application/pdf")
msg.save("with_attachment.msg")Εμπλοκή μηνύματος MSG ως ένα αποσυνδεμένο προσάρτημα:
inner = MapiMessage.create("Inner Subject", "Inner body")
msg.add_embedded_message_attachment(inner, filename="embedded.msg", mime_type="application/vnd.ms-outlook")
msg.save("with_embedded.msg")MAPI ΙΔΙΟΤΗΤΑ
Διαβάστε και γράψτε τις ιδιότητες MAPI με το ID ιδιοκτησίας:
from aspose.email_foss.msg import PropertyId
# Read a property
subject = msg.get_property(PropertyId.SUBJECT)
# Set a property
msg.set_property(PropertyId.SUBJECT, "New Subject")Εξυπηρετούν όλες τις ιδιότητες:
for prop in msg.iter_properties():
print(f"Tag: {prop.property_tag:#010x}")Email μετατροπή
Μετατροπή μεταξύ MSG (MAPI) και ηλεκτρονικού ταχυδρομείου (RFC 5322) μορφές:
# MSG to email string
email_str = msg.to_email_string()
print(email_str[:500])
# MSG to EmailMessage object
email_msg = msg.to_email_message()
# EmailMessage back to MapiMessage
msg2 = MapiMessage.from_email_message(email_msg)
msg2.save("roundtrip.msg")Λιγότερο επίπεδο CFB λειτουργίες
Διαβάστε την δομή του εμπορευματικού εμπορίου CFB απευθείας:
from aspose.email_foss.cfb import CFBReader
reader = CFBReader.from_file("message.msg")
print(f"File size: {reader.file_size} bytes")
print(f"Sectors: {reader.fat_sector_count}")
print(f"Entries: {reader.directory_entry_count}")
for entry in reader.iter_storages():
print(f"Storage: {entry}")
for entry in reader.iter_streams():
print(f"Stream: {entry}")
reader.close()Εισαγωγή εγγράφων CFB:
from aspose.email_foss.msg import MsgWriter
data = msg.to_bytes()
with open("output.msg", "wb") as f:
f.write(data)Συμβουλές και βέλτιστες πρακτικές
- Πάντα καλέστε
msg.close()ή χρησιμοποιήστε έναν διαχειριστή συνδέσμων όταν κάνετε ανάγνωση για να απελευθερώσετε χειρισμούς αρχείων - Χρησιμοποιήστε
msg.validation_issuesΕλέγξτε για τα προβλήματα συμμόρφωσης με το MSG format - Η
strictΠαραμέτρων σεMapiMessage.from_file()ελέγχει την ανοχή σφάλματος - ρυθμίζεται γιαFalseΓια το Lenient Parsing - Όλα τα δεδομένα προσθήκης φορτώνται στη μνήμη κατά τη διάρκεια της
from_file()- Χρησιμοποιήστεatt.data- να έχουν άμεση πρόσβαση σε bytes,;iter_attachments_info()είναι ένα ιθεράριο βολής πάνω από τον ήδη δημοφιλή κατάλογο προσθήκες - Χρησιμοποιήστε
to_email_string()για ταχεία προβολές κειμένου χωρίς πλήρη οικοδόμηση αντικειμένων ηλεκτρονικού ταχυδρομείου
κοινά ζητήματα
| Θέμα | Αιτία | ΦΙΛΕΞΗ |
|---|---|---|
CFBError Όταν φορτώνουμε | Δεν υπάρχει έγκυρο αρχείο CFB/MSG | Ελέγξτε το αρχείο είναι ένα πραγματικό Outlook MSG |
| Αδειά σώματα μετά από φορτίο | Το σώμα αποθηκεύεται μόνο στο HTML | Ελέγξτε msg.body_html Αντί να msg.body |
| Απεβίωτοι αποδέκτες | Η MSG δεν έχει αποθηκευτικό | Οι παραλήπτες είναι προαιρετικές σε μορφή MSG. ελέγξτε msg.recipients |
FAQ
Ποιες εκδόσεις μορφής MSG υποστηρίζονται;?
Η βιβλιοθήκη διαβάζει και γράφει αρχεία MSG σε μορφές CFB v3 και v4, συμβατή με το Microsoft Outlook.
Μπορώ να διαβάσω τα αρχεία EML;?
Δεν είναι άμεσα. η βιβλιοθήκη χειρίζεται το μορφότυπο MSG. MapiMessage.from_email_message() Μετατροπή από RFC 5322 EmailMessage αντικειμένων .
Υποστηρίζεται η ασφάλεια του thread;?
Κάθε ένα MapiMessage και CFBReader Η πρόσβαση σε ξεχωριστές παραδείξεις από ξεχώριες γραμμές είναι ασφαλής.
Συνοπτική αναφορά API
| Κλάση / Μέθοδος | Περιγραφή |
|---|---|
MapiMessage | Εισαγωγή μηνυμάτων MSG υψηλού επιπέδου |
MapiMessage.from_file() | Κατεβάστε ένα αρχείο MSG |
MapiMessage.create() | Δημιουργία νέου μηνύματος MSG |
MapiMessage.save() | Αποθηκεύστε το αρχείο MSG |
MapiMessage.to_email_message() | Μετατροπή σε EmailMessage (RFC 5322) |
MapiMessage.from_email_message() | Μετατροπή από EmailMessage σε MSG |
MapiMessage.add_recipient() | Προσθέστε έναν παραλήπτη |
MapiMessage.add_attachment() | Προσθέστε ένα δυαδικό προσάρτημα |
MapiAttachment | Εισαγωγή σε ένα μήνυμα |
MapiRecipient | Αποδέκτης σε ένα μήνυμα |
MapiProperty | MAPI Εισαγωγή Ιδιοκτησίας |
CFBReader | Ελάχιστο επίπεδο CFB αναγνώστης δοχείων |
CFBWriter | Ελάχιστο επίπεδο CFB συγγραφέας δοχείων |
MsgReader | Λιγότερο επίπεδο MSG δομή αναγνώστης |