Χαρακτηριστικά και λειτουργίες

Χαρακτηριστικά και λειτουργίες

Χαρακτηριστικά και λειτουργίες

Αυτή η σελίδα καλύπτει κάθε κύριο χαρακτηριστικό της Ετικέτες ΑΡΧΙΚΗ ΣΕΒΑΛΙΔΙΑ 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Αποδέκτης σε ένα μήνυμα
MapiPropertyMAPI Εισαγωγή Ιδιοκτησίας
CFBReaderΕλάχιστο επίπεδο CFB αναγνώστης δοχείων
CFBWriterΕλάχιστο επίπεδο CFB συγγραφέας δοχείων
MsgReaderΛιγότερο επίπεδο MSG δομή αναγνώστης
 Ελληνικά