Python için Aspose.Email FOSS ile Nasıl Başlanır
aspose-email-foss for Python, oluşturmak, okumak ve kullanmak için MIT lisanslı bir ücretsiz kütüphanedir. Outlook MSG dosyalarını ve CFB konteynerlerini dönüştürmek – Microsoft Office gerektirmez, yerel olmayan Python, Pypi’den gelen genişleme programlarıdır.
Adım adım rehberlik
Adım 1: Paketi Kurun
Ayrıca Bakınız:
pip install aspose-email-fossDoğru yüklü olanı kontrol edin:
from aspose.email_foss.msg import MapiMessage
print("aspose-email-foss is ready.")Adım 2: Gerekli sınıflar ithal etmek
Mesaj oluşturma, özellik atama ve format dönüştürme için ihtiyacınız olan modüllerin içeriği:
from datetime import datetime, timezone
from aspose.email_foss import msg
from aspose.email_foss.msg import MapiMessage, PropertyId3. Adım: Bir dosya oluşturun
kullanmak MapiMessage.create() Bir mesajı konu ve vücut ile oluşturmak için. Gönder metadata ayarlamak ile PropertyId Konstançlar, alıcıları ekleyin ve bir dosya eklenir.
message = MapiMessage.create("Getting Started", "Hello from aspose-email-foss!")
message.set_property(PropertyId.SENDER_NAME, "Build Agent")
message.set_property(PropertyId.SENDER_EMAIL_ADDRESS, "agent@example.com")
message.set_property(
PropertyId.MESSAGE_DELIVERY_TIME,
datetime(2026, 1, 1, 9, 0, tzinfo=timezone.utc),
)
message.add_recipient("alice@example.com", display_name="Alice Example")
message.add_attachment("notes.txt", b"Meeting notes go here.\n", mime_type="text/plain")
message.save("getting-started.msg")
print("getting-started.msg written.")4. Adım: MSG Dosyayı Geri Okumak
kaydedilen dosyayı kullanarak yükleyin MapiMessage.from_file() Konteyner Yöneticisi - Access subject ve body Geriye dönük malzemeye ait malzemeler.
with MapiMessage.from_file("getting-started.msg") as message:
print(f"Subject: {message.subject}")
print(f"Body : {message.body}")5. Adım: Şifreyi şifreleyin
to_email_bytes() Bu yazıyı okumanızı tavsiye ederim. ♀️ A’ya .eml Standart kütüphaneden dosya alabilirsiniz.
from pathlib import Path
with MapiMessage.from_file("getting-started.msg") as message:
Path("getting-started.eml").write_bytes(message.to_email_bytes())
print("getting-started.eml written.")Yaygın Sorunlar ve Çözümler
ModuleNotFoundError: No module named 'aspose' Bu paket aktif Python ortamında yüklü değildir. pip install aspose-email-foss Script’inizi çalıştırmak için kullandığınız sanal ortamda. pip show aspose-email-foss.
FileNotFoundError Çağrıldığında MapiMessage.from_file() Geçtiğiniz yol yok veya OS için yanlış ayırıcı kullanıyor. pathlib.Path Yürüyüş yolları için: MapiMessage.from_file(Path("folder") / "file.msg").
MSG dosyası Outlook’ta açılır ama konu görüntülenmez MapiMessage.create() ilk pozisyonel argüman olarak kabul eder. eğer geçirmişseniz Outlook, mesajı başlıksız olarak gösterir. boş olmayan bir dizi geçin veya ayarlayın açıkça ile set_property(PropertyId.SUBJECT, "My Subject").
EML dönüşüm boş bir vücut üretir to_email_bytes() kullanmak body_html Eğer düşerse ve geri dönerse body.Bu doğrulama ile at Bu özelliklerden en az biri MSG ile yüklendiğinde boş değildir. from_file().
Unicode içeriği alıcılarda veya konudaki kısaltılmıştır. Pass için unicode_strings=True iki MapiMessage.create() String özellikleri için Unicode (PT_UNICODE) ve ANSI (RT_STRING8) gibi bir formatda depolanır.
Sık Sorulan Sorular
Microsoft Office için e-posta gönderimi gerekli mi?
Kitaplık tamamen kendi içindedir. MSG ve CFB ikili biçimleri Python’da natif olarak okuyor ve yazıyor, Microsoft Office, COM otomatikliği veya Win32 API’lerine bağımlı olmadan.
Bu kitaplık Linux veya macOS’ta kullanılabilir mi?
Evet evet. aspose-email-foss Python 3.10’u destekleyen herhangi bir platformda çalışıyor. Windows, macOS, Linux, Docker konteynerleri ve sunucu olmayan işlevler de dahil olmak üzere.
Kütüphaneler ticari kullanım için ücretsiz mi?
Evet. MIT Lisansı altında yayınlanmıştır. lisans metninden öteye ait bir royalti veya atıfta bulunma gereksinimleri olmaksızın, ticari uygulamalar da dahil olmak üzere herhangi bir amaç için kullanabilir, değiştirebilir ve yeniden dağıtabilirsiniz.
CC ve BCC alıcıları nasıl eklerim?
Pass için recipient_type=msg.RECIPIENT_TYPE_CC veya msg.RECIPIENT_TYPE_BCC Üçüncü olarak argümanı add_recipient():
message.add_recipient("bob@example.com", display_name="Bob", recipient_type=msg.RECIPIENT_TYPE_CC)Birinin içine nasıl bir şey koyarım?
kullanmak MapiMessage.add_embedded_message_attachment(),İçeriği geçmek için MapiMessage İlk argüman olarak:
inner = MapiMessage.create("Inner message", "Embedded body.")
outer = MapiMessage.create("Outer message", "See attachment.")
outer.add_embedded_message_attachment(inner, "inner.msg")
outer.save("outer.msg")