در این مقاله یاد می گیرید که چگونه پیام های ایمیل را از سرورهای ایمیل به صورت برنامه ریزی شده بازیابی کنید. به ویژه، با نحوه اتصال به سرور ایمیل با استفاده از پروتکل‌های IMAP یا POP3 و خواندن ایمیل‌ها در پایتون آشنا خواهید شد.

کتابخانه Python برای خواندن ایمیل ها با استفاده از POP3 یا IMAP

برای خواندن ایمیل‌ها از سرورهای ایمیل با استفاده از POP3 یا IMAP، از Aspose.Email for Python via .NET استفاده می‌کنیم. این یک کتابخانه ایمیل با ویژگی های غنی است که به شما امکان می دهد کلاینت های ایمیل را از داخل برنامه های پایتون خود پیاده سازی کنید. شما می توانید فایل .whl را دانلود یا با استفاده از دستور pip زیر کتابخانه را نصب کنید.

> pip install Aspose.Email-for-Python-via-NET

ایمیل‌های سرورهای ایمیل را در پایتون بخوانید

POP3 و IMAP معمولاً برای بازیابی ایمیل از سرورهای ایمیل استفاده می شوند. بخش های زیر نحوه خواندن ایمیل ها را با استفاده از هر دو پروتکل ایمیل به طور جداگانه نشان می دهد.

ایمیل ها را با استفاده از POP3 در پایتون بخوانید

مراحل زیر برای خواندن پیام های ایمیل با استفاده از POP3 در پایتون آمده است.

  • یک شی از کلاس Pop3Client ایجاد کنید و آن را با هاست، پورت، نام کاربری و رمز عبور مقداردهی کنید.
  • با استفاده از ویژگی Pop3Client.securityoptions گزینه های امنیتی را تنظیم کنید.
  • با استفاده از روش Pop3Client.getmessagecount() تعداد پیام ها را دریافت کنید.
  • با استفاده از روش Pop3Client.fetchmessage() به هر پیام در یک حلقه دسترسی پیدا کنید.

نمونه کد زیر نحوه خواندن ایمیل با استفاده از POP3 در پایتون را نشان می دهد.

# کلاینت POP3 ایجاد کنید
client = Pop3Client("pop.gmail.com", 995, "username", "password")

# گزینه های امنیتی را تنظیم کنید
client.security_options = SecurityOptions.AUTO

# دریافت تعداد پیام
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))

# یک نمونه از کلاس MailMessage برای خواندن پیام ایجاد کنید    
for i in range(0,messageCount):
    message = client.fetch_message(i+1)
    print("From:" + str(message.from_address))
    print("Subject:" + message.subject)
    print(message.html_body)

خواندن ایمیل ها با استفاده از IMAP در پایتون

مراحل زیر برای خواندن پیام های ایمیل با استفاده از IMAP در پایتون آمده است.

  • یک شی از کلاس ImapClient ایجاد کنید و آن را با میزبان، پورت، نام کاربری و رمز عبور مقداردهی کنید.
  • پوشه را با استفاده از روش ImapClient.selectfolder(folderName) انتخاب کنید.
  • با استفاده از روش ()ImapClient.listmessages لیست پیام ها را حلقه بزنید.

نمونه کد زیر نحوه خواندن پیام های ایمیل با استفاده از IMAP در پایتون را نشان می دهد.

# با استفاده از IMAP به سرور ایمیل متصل شوید
client = ImapClient("imap.gmail.com", 993, "username", "password")

# پوشه را انتخاب کنید
client.select_folder("Inbox")

# از طریق پیام های ایمیل حلقه بزنید و آنها را به عنوان فایل .eml ذخیره کنید
for msg in client.list_messages():
    print("Subject: " + msg.subject)
    print("HtmlBody: " + msg.html_body)
    print("TextBody: " + msg.body)
    client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

کتابخانه ایمیل پایتون - مجوز رایگان دریافت کنید

با دریافت [مجوز موقت رایگان] می توانید از Aspose.Email برای پایتون استفاده کنید.

نتیجه

در این مقاله، نحوه خواندن ایمیل از سرورهای ایمیل با استفاده از پایتون را یاد گرفتید. به ویژه، نحوه استفاده از سرویس گیرنده های POP3 و IMAP برای واکشی و خواندن پیام های ایمیل را دیده اید. می‌توانید با استفاده از مستندات درباره کتابخانه ایمیل پایتون بیشتر کاوش کنید. علاوه بر این، می توانید سوالات خود را در [تالار گفتمان] ما ارسال کنید.

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