В этой статье вы узнаете, как программно получать сообщения электронной почты с почтовых серверов. В частности, вы узнаете, как подключиться к почтовому серверу с использованием протоколов IMAP или POP3 и читать электронные письма на Python.
Python API для чтения электронных писем
Чтобы читать электронные письма с почтовых серверов, мы будем использовать Aspose.Email для Python через .NET. Это многофункциональный почтовый API, который позволяет вам реализовывать почтовые клиенты из ваших приложений Python. Вы можете либо скачать.whl-файл, либо установить API с помощью следующей команды pip.
> pip install Aspose.Email-for-Python-via-NET
Чтение писем с почтовых серверов в Python
POP3 и IMAP обычно используются для получения электронной почты с почтовых серверов. В следующих разделах показано, как читать электронные письма, используя оба протокола электронной почты по отдельности.
Чтение сообщений электронной почты с использованием протокола POP3
Ниже приведены шаги для чтения сообщений электронной почты с использованием протокола POP3.
- Создайте объект класса Pop3Client и инициализируйте его хостом, портом, именем пользователя и паролем.
- Установите параметры безопасности, используя свойство Pop3Client.security\options.
- Получите количество сообщений, используя метод Pop3Client.get_message\count().
- Получите доступ к каждому сообщению в цикле, используя метод Pop3Client.fetch\message().
В следующем примере кода показано, как читать электронную почту в Python с использованием протокола POP3.
# create POP3 client
client = Pop3Client("pop.gmail.com", 995, "username", "password")
# set security options
client.security_options = SecurityOptions.AUTO
# get message count
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))
# create an instance of the MailMessage class to read message
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.select\folder(folderName).
- Прокрутите список сообщений, используя метод ImapClient.list\messages().
В следующем примере кода показано, как читать сообщения электронной почты с помощью IMAP в Python.
# connect to mail server using IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")
# select folder
client.select_folder("Inbox")
# loop through email messages and save them as .eml files
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")
Получите бесплатную лицензию API
Вы можете использовать Aspose.Email для Python через .NET, запросив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как читать электронные письма с почтовых серверов с помощью Python. В частности, вы увидели, как использовать клиенты POP3 и IMAP для получения и чтения сообщений электронной почты. Вы можете узнать больше об API электронной почты Python, используя документацию. Кроме того, вы можете размещать свои вопросы на нашем форуме.