در موارد مختلف، سرورهای ایمیل از داخل برنامههای پایتون برای خواندن ایمیلها یا پیادهسازی کلاینتهای ایمیل قابل دسترسی هستند. برای بازیابی ایمیل ها از یک سرور ایمیل، معمولاً از پروتکل پروتکل دسترسی به پیام های اینترنتی (IMAP) استفاده می شود. در این مقاله نحوه خواندن ایمیل ها از طریق IMAP در پایتون را به شما نشان خواهیم داد. این مقاله به صراحت نحوه اتصال به سرور ایمیل، دسترسی به پوشه مورد نظر و خواندن ایمیل ها را پوشش می دهد.
- کتابخانه Python برای خواندن ایمیل ها با استفاده از IMAP
- به یک سرور IMAP در پایتون متصل شوید
- از صندوق پستی به پوشه های ایمیل دسترسی پیدا کنید
- ایمیلهای یک پوشه را در پایتون بخوانید
کتابخانه Python برای خواندن ایمیل ها از طریق IMAP - دانلود رایگان
برای خواندن ایمیلها از سرور ایمیل از طریق IMAP، از Aspose.Email for Python via .NET استفاده میکنیم. این یک کتابخانه ایمیل قدرتمند است که به شما امکان ارسال ایمیل و دسترسی به صندوق های پستی از سرورهای ایمیل را می دهد. با استفاده از دستور زیر می توانید کتابخانه را از PyPI نصب کنید.
pip install Aspose.Email-for-Python-via-NET
برای نصب دستی با استفاده از فایل whl، می توانید مراحل زیر را دنبال کنید.
- فایل whl قابل نصب را از قسمت دانلودها دانلود کنید.
- از خط فرمان، از دستور استفاده کنید: pip install «FileName> >.whl برای نصب کتابخانه.
از طریق IMAP در پایتون به سرور ایمیل متصل شوید
مراحل زیر برای اتصال به سرور ایمیل با استفاده از IMAP آمده است.
- یک نمونه از کلاس ImapClient ایجاد کنید و آن را با نام میزبان، پورت، نام کاربری و رمز عبور مقداردهی کنید.
- از شی ImapClient برای دسترسی به صندوق پست استفاده کنید.
نمونه کد زیر نحوه اتصال به سرور ایمیل با استفاده از IMAP در پایتون را نشان می دهد.
from aspose.email import SecurityOptions, ImapClient
# یک نمونه از ImapClient ایجاد کنید و میزبان، پورت، نام کاربری و رمز عبور را ارائه دهید
client = ImapClient("imap.domain.com", 993, "user@domain.com", "password")
# گزینه های امنیتی را تنظیم کنید
client.security_options = SecurityOptions.SSLIMPLICIT
# از شی ImapClient برای دسترسی به صندوق پست استفاده کنید
پایتون: به پوشه های ایمیل در صندوق پست دسترسی پیدا کنید
پس از برقراری ارتباط با سرور ایمیل، می توانید پوشه ای را که می خواهید پیام های ایمیل را از آن بخوانید انتخاب کنید. بیایید ابتدا نحوه دریافت لیست تمام پوشه های موجود در صندوق پست را بررسی کنیم. مراحل زیر برای دریافت اطلاعات در مورد هر پوشه آمده است.
- یک نمونه از کلاس ImapClient ایجاد کنید و آن را با نام میزبان، پورت، نام کاربری و رمز عبور مقداردهی کنید.
- از متد ImapClient.listfolders() برای دریافت مجموعه پوشه ها در یک شی استفاده کنید.
- مجموعه را مرور کنید و جزئیات پوشه ها را بازیابی کنید.
نمونه کد زیر نحوه چاپ جزئیات پوشه ها را در یک صندوق پستی نشان می دهد.
from aspose.email import ImapClient
# یک نمونه از ImapClient ایجاد کنید و میزبان، پورت، نام کاربری و رمز عبور را ارائه دهید
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# دریافت لیست پوشه ها
folderInfoColl = client.list_folders()
# در مجموعه تکرار کنید تا اطلاعات پوشه ها را یکی یکی دریافت کنید
for folderInfo in folderInfoColl:
print("Folder name is " + folderInfo.name)
folderExtInfo = client.get_folder_info(folderInfo.name)
print("New message count: " + str(folderExtInfo.new_message_count))
print("Is it readonly? " + str(folderExtInfo.read_only))
print("Total number of messages " + str(folderExtInfo.total_message_count))
اکنون اجازه دهید با استفاده از IMAP به یک پوشه خاص در صندوق پستی دسترسی پیدا کنیم.
- یک نمونه از کلاس ImapClient ایجاد کنید و آن را با نام میزبان، پورت، نام کاربری و رمز عبور مقداردهی کنید.
- برای انتخاب پوشه از روش ImapClient.selectfolder(string) استفاده کنید.
نمونه کد زیر نحوه انتخاب یک پوشه ایمیل از صندوق پستی را نشان می دهد.
from aspose.email import ImapClient
# یک نمونه از ImapClient ایجاد کنید و میزبان، پورت، نام کاربری و رمز عبور را ارائه دهید
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# پوشه را از صندوق پست انتخاب کنید
client.select_folder("Inbox")
ایمیلهای یک پوشه را در پایتون بخوانید
در زیر مراحل خواندن پیامهای ایمیل از یک پوشه خاص در صندوق پستی با استفاده از پایتون آمده است.
- یک نمونه از کلاس ImapClient ایجاد کنید و آن را با نام میزبان، پورت، نام کاربری و رمز عبور مقداردهی کنید.
- برای انتخاب پوشه از روش ImapClient.selectfolder(string) استفاده کنید.
- با استفاده از متد ()client.listmessages فهرست پیامهای موجود در پوشه را دریافت کنید.
- از طریق مجموعه پیام ها حلقه بزنید.
- جزئیات هر پیام ایمیل را دریافت کنید و در صورت نیاز آن را روی دیسک ذخیره کنید.
نمونه کد زیر نحوه خواندن ایمیل از سرور ایمیل در پایتون را نشان می دهد.
from aspose.email import ImapClient
# یک نمونه از ImapClient ایجاد کنید و میزبان، پورت، نام کاربری و رمز عبور را ارائه دهید
with ImapClient("imap.gmail.com", 993, "username", "password") as client:
# پوشه را انتخاب کنید
client.select_folder("Inbox")
# هر پیام را در مجموعه بخوانید
for msg in client.list_messages():
print( "From: '{}', MIME Id: {}".format(msg.from_address, msg.message_id) )
# ذخیره پیام روی دیسک
client.save_message(msg.unique_id, msg.unique_id + "_out.eml")
کتابخانه Python برای خواندن ایمیل ها از طریق IMAP - مجوز رایگان دریافت کنید
با استفاده از Aspose.Email برای Python می توانید ایمیل ها را از طریق IMAP به صورت رایگان با دریافت مجوز موقت بخوانید.
نتیجه
در این مقاله، نحوه خواندن ایمیل از سرور ایمیل با استفاده از IMAP در پایتون را یاد گرفتید. نمونه کد نحوه اتصال به سرور ایمیل، دریافت لیست پوشه ها در صندوق پست، انتخاب یک پوشه و خواندن ایمیل ها را نشان می دهد. علاوه بر این، میتوانید برای بررسی بیشتر درباره Aspose.Email برای Python از طریق دات نت، از documentation دیدن کنید. همچنین، می توانید بسته کامل نمونه کد منبع را از GitHub دانلود کنید. در صورت داشتن هرگونه سؤال یا سؤال، از طریق [تالار گفتمان8 ما را در جریان بگذارید.