چگونه با Aspose.Email FOSS برای Python شروع کنیم

چگونه با Aspose.Email FOSS برای Python شروع کنیم

aspose-email-foss برای Python یک کتابخانه رایگان و مجوزده MIT برای ایجاد، خواندن و… تبدیل فایل های Outlook و حاشیه CFB — هیچ Microsoft Office لازم نیست، هیچ نام اصلی پیتون از Pypi است.

راهنمای گام به گام

مرحله 1: نصب بسته بندی

نصب از PyPI با pip:

pip install aspose-email-foss

بررسی کنید که نصب شده به درستی:

from aspose.email_foss.msg import MapiMessage
print("aspose-email-foss is ready.")

مرحله 2: واردات کلاس های مورد نیاز

واردات ماژول هایی که برای ایجاد پیام، اختصاص خصوصیات و تبدیل فرمت نیاز دارید:

from datetime import datetime, timezone
from aspose.email_foss import msg
from aspose.email_foss.msg import MapiMessage, PropertyId

مرحله سوم: ایجاد یک فایل

استفاده کنید MapiMessage.create() برای ایجاد یک پیام با موضوع و بدن. تنظیم میتوادهای ارسال کننده با PropertyId به صورت دائمی، دریافت کنندگان را اضافه کنید و یک فایل را متصل کنید.

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: فایل MSG را باز کنید

دانلود فایل ذخیره شده با استفاده از MapiMessage.from_file() به عنوان مدیر محیط زیست، دسترسی به subject و body - اجارهایی که به صورت مستقیم از محصول بازگردانده شده است.

with MapiMessage.from_file("getting-started.msg") as message:
    print(f"Subject: {message.subject}")
    print(f"Body   : {message.body}")

مرحله پنجم: تبدیل به MSG بهEML

to_email_bytes() پیام را به فرمت RFC 5322 تبدیل می کند. نتیجه را بنویسید تا A .eml فایل با کتابخانه استاندارد.

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.")

مشکلات رایج و راه‌حل‌ها

ModuleNotFoundError: No module named 'aspose' این برنامه در محیط فعال Python نصب نشده است. pip install aspose-email-foss در همان محیط مجازی که برای اجرا اسکرپورت خود استفاده می کنید. pip show aspose-email-foss.

FileNotFoundError وقتی تماس می گیریم MapiMessage.from_file() مسیر شما وجود ندارد یا از جدا کننده اشتباه برای سیستم عامل خود استفاده می کند. pathlib.Path برای ساخت مسیرهای پویا: MapiMessage.from_file(Path("folder") / "file.msg").

فایل MSG در Outlook باز می شود اما موضوع را نشان نمی دهد MapiMessage.create() در این مورد، موضوع را به عنوان اولین بحث موقعیت پذیرفته اید.اگر شما از آن عبور کرده اید یک string خالی، Outlook پیام را به عنوان نامحدود نشان می دهد. ارسال یک string غیر خالی یا تنظیم آن به طور واضح با set_property(PropertyId.SUBJECT, "My Subject").

EML تبدیل یک بدن خالی ایجاد می کند to_email_bytes() استفاده body_html اگر قرار است و به عقب برود body.این را تایید کنید که در حداقل یکی از این ویژگی ها بعد از بارگذاری MSG با from_file().

محتوای Unicode در دریافت کنندگان یا موضوع قطع شده است. Pass را unicode_strings=True دو MapiMessage.create() برای اطمینان از اینکه دارای لوازم خانگی در این حالت، شما می توانید از آن ها استفاده کنید که به جای ANSI (PT_STRING8) ذخیره شده اند.

سوالات متداول

آیا Microsoft Office-Foss نیاز به استفاده دارد؟?

کتابخانه کاملاً خودکشی است.آن را می خواند و فرم های باینری MSG و CFB به صورت طبیعی در Python بدون هیچ بستگی به Microsoft Office، اتوماتیک COM یا API Win32 نوشته می شود.

آیا می توانم این کتابخانه را در Linux یا macOS استفاده کنم؟?

بله . aspose-email-foss Python است و در هر پلت فرم که از Python 3.10 پشتیبانی می کند اجرا می شود. یا بعد از آن – شامل ویندوز، macOS، لینوکس، کانتینر های Docker و ویژگی های بدون سرور.

آیا کتابخانه برای استفاده تجاری رایگان است؟?

این نسخه تحت مجوز MIT منتشر شده است. شما می توانید آن را برای هر هدف، از جمله برنامه های تجاری، بدون هزینه حقوقی یا نیاز به اختصاص استفاده کنید و تغییر دهید.

چگونه می توانم از CC و BCC دریافت کنید؟?

Pass را recipient_type=msg.RECIPIENT_TYPE_CC یا msg.RECIPIENT_TYPE_BCC به عنوان سومین بحث به add_recipient():

message.add_recipient("bob@example.com", display_name="Bob", recipient_type=msg.RECIPIENT_TYPE_CC)

چگونه یک نفر را در داخل دیگری قرار دهیم؟?

استفاده کنید MapiMessage.add_embedded_message_attachment(),از داخل عبور می کند MapiMessage هدف اول به عنوان دلیل:

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")

همچنین ببینید

 فارسی