Εισαγωγή
Aspose.Email FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and converting Outlook .msg αρχεία εξ ολοκλήρου σε Python, χωρίς εξάρτηση από το Microsoft Office ή οποιαδήποτε εγγενή επέκταση. Εγκαταστήστε το με pip install aspose-email-foss>=26.3 και ξεκινήστε αμέσως να εργάζεστε με τα containers MSG και CFB.
Η βιβλιοθήκη στοχεύει στο Python 3.10 και νεότερες εκδόσεις. Υλοποιεί τη μορφή Compound File Binary (CFB) και τη μορφή μηνύματος MSG από το μηδέν, παρέχοντάς σας καθοριστικό έλεγχο πάνω στο πώς τα email μηνύματα σειριοποιούνται και διαβάζονται. Επειδή η υλοποίηση είναι καθαρό Python, εκτελείται με τον ίδιο τρόπο σε Windows, macOS, Linux και σε περιβάλλοντα με containers.
Aspose.Email FOSS is designed for developers building email processing pipelines, compliance archival tools, forensic analysis workflows, or any application that needs to create or inspect Outlook-compatible message files without a running Exchange or Outlook installation.
Κύρια Χαρακτηριστικά
Δημιουργία αρχείων MSG
Δημιουργήστε αρχεία συμβατά με το Outlook .msg από το μηδέν χρησιμοποιώντας MapiMessage.create(). Ορίστε τις τυπικές ιδιότητες MAPI όπως θέμα, αποστολέας, χρόνο παράδοσης και πεδία εμφάνισης μέσω του PropertyId enum. Προσθέστε παραλήπτες με add_recipient() και συνημμένα αρχείων με add_attachment(), στη συνέχεια αποθηκεύστε το αποτέλεσμα στο δίσκο.
from aspose.email_foss import msg
message = msg.MapiMessage.create(
"Quarterly status update and rollout plan",
"Hello team,\n\nPlease find the latest rollout summary attached.\n\nRegards,\nEngineering",
)
message.set_property(msg.PropertyId.SENDER_NAME, "Build Agent")
message.set_property(msg.PropertyId.SENDER_EMAIL_ADDRESS, "build.agent@example.com")
message.set_property(msg.PropertyId.INTERNET_MESSAGE_ID, "<example-001@example.com>")
message.add_recipient("alice@example.com", display_name="Alice Example")
message.add_recipient("bob@example.com", display_name="Bob Example")
message.add_recipient(
"carol@example.com",
display_name="Carol Example",
recipient_type=msg.RECIPIENT_TYPE_CC,
)
message.add_attachment("hello.txt", b"sample attachment\n", mime_type="text/plain")
message.save("example-message.msg")
Ανάγνωση και μετατροπή MSG σε EML
Φορτώστε ένα υπάρχον .msg αρχείο με MapiMessage.from_file() και μετατρέψτε το σε τυπικό Python EmailMessage αντικείμενο μέσω to_email_message(). Από εκεί, σειριοποιήστε σε bytes EML για αποθήκευση ή προώθηση μέσω SMTP.
from aspose.email_foss import msg
with msg.MapiMessage.from_file("example-message.msg") as loaded:
email_message = loaded.to_email_message()
eml_bytes = email_message.as_bytes()
with open("example-message.eml", "wb") as f:
f.write(eml_bytes)
Επιθεώρηση εσωτερικών στοιχείων MSG
Χρησιμοποιήστε MsgReader και το υποκείμενο του CFBReader για να εξετάσετε τη δυαδική δομή ενός αρχείου MSG. Πρόσβαση στα μεταδεδομένα CFB (έκδοση, μέγεθος τομέα, αριθμός καταχωρήσεων καταλόγου) και επανάληψη πάνω στις καταχωρήσεις ιδιοτήτων MAPI σε δυαδικό επίπεδο.
from aspose.email_foss import msg
reader = msg.MsgReader.from_file("example-message.msg")
cfb = reader.cfb_reader
print(f"CFB major_version={cfb.major_version}")
print(f"sector_size={cfb.sector_size}")
print(f"directory_entries={cfb.directory_entry_count}")
for entry in reader.iter_top_level_fixed_length_properties():
tag = entry.property_tag
print(f"tag=0x{tag:08X} flags=0x{entry.flags:08X} value={entry.value.hex()}")
reader.close()
Πρόσβαση CFB χαμηλού επιπέδου
Διαβάστε και περιηγηθείτε σε οποιοδήποτε δοχείο Compound File Binary χρησιμοποιώντας CFBReader. Καταγράψτε αποθηκευτικούς χώρους και ροές, επιλύστε διαδρομές με βάση το όνομα και εξάγετε ακατέργαστα δεδομένα ροής για προσαρμοσμένη επεξεργασία.
from aspose.email_foss.cfb import CFBReader
reader = CFBReader.from_file("example-message.msg")
for entry in reader.iter_storages():
print(f"Storage: {entry.name}")
for entry in reader.iter_streams():
data = reader.get_stream_data(entry.stream_id)
print(f"Stream: {entry.name} size={len(data)}")
reader.close()
Γρήγορη Εκκίνηση
Εγκαταστήστε τη βιβλιοθήκη και δημιουργήστε το πρώτο σας αρχείο MSG σε λιγότερο από δέκα γραμμές:
pip install aspose-email-foss>=26.3
from aspose.email_foss import msg
message = msg.MapiMessage.create("Hello from Python", "This is a test message.")
message.set_property(msg.PropertyId.SENDER_EMAIL_ADDRESS, "sender@example.com")
message.add_recipient("recipient@example.com", display_name="Recipient")
message.save("hello.msg")
with msg.MapiMessage.from_file("hello.msg") as loaded:
eml = loaded.to_email_message()
print(eml["Subject"])
Υποστηριζόμενες Μορφές
| Μορφή | Εισαγωγή | Εξαγωγή |
|---|---|---|
| MSG | Ναι | Ναι |
| CFB | Ναι | Ναι |
Ανοιχτός Κώδικας & Άδεια
Aspose.Email FOSS for Python is released under the MIT License. Μπορείτε να το χρησιμοποιήσετε σε προσωπικά, εσωτερικά και εμπορικά έργα χωρίς περιορισμούς. Ο κώδικας πηγής είναι διαθέσιμος στο GitHub.