У цій статті ви дізнаєтеся, як програмно отримувати повідомлення електронної пошти з поштових серверів. Зокрема, ви дізнаєтеся, як підключатися до поштового сервера за допомогою протоколів IMAP або POP3 і читати електронні листи на Python.

Бібліотека Python для читання електронних листів за допомогою POP3 або IMAP

Щоб читати електронні листи з поштових серверів за допомогою POP3 або IMAP, ми будемо використовувати Aspose.Email for Python через .NET. Це багатофункціональна бібліотека електронної пошти, яка дозволяє впроваджувати клієнти електронної пошти з ваших програм Python. Ви можете завантажити файл .whl або встановити бібліотеку за допомогою такої команди pip.

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

Читайте електронні листи з поштових серверів у Python

POP3 та IMAP зазвичай використовуються для отримання електронних листів із поштових серверів. У наступних розділах показано, як читати електронні листи за допомогою обох протоколів електронної пошти окремо.

Читайте електронні листи за допомогою POP3 у Python

Нижче наведено кроки для читання повідомлень електронної пошти за допомогою POP3 у Python.

  • Створіть об’єкт класу Pop3Client та ініціалізуйте його хостом, портом, іменем користувача та паролем.
  • Встановіть параметри безпеки за допомогою властивості Pop3Client.securityoptions.
  • Отримати кількість повідомлень за допомогою методу Pop3Client.getmessagecount().
  • Отримайте доступ до кожного повідомлення в циклі за допомогою методу Pop3Client.fetchmessage().

У наступному прикладі коду показано, як читати електронний лист за допомогою POP3 у Python.

# створити клієнт 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 у Python

Нижче наведено кроки для читання повідомлень електронної пошти за допомогою IMAP у Python.

  • Створіть об’єкт класу ImapClient та ініціалізуйте його хостом, портом, іменем користувача та паролем.
  • Виберіть папку за допомогою методу ImapClient.selectfolder(folderName).
  • Перегляньте список повідомлень за допомогою методу ImapClient.listmessages().

У наведеному нижче прикладі коду показано, як читати повідомлення електронної пошти за допомогою IMAP у Python.

# підключитися до поштового сервера за допомогою 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")

Бібліотека електронної пошти Python – отримайте безкоштовну ліцензію

Ви можете використовувати Aspose.Email for Python, отримавши безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як читати електронні листи з поштових серверів за допомогою Python. Зокрема, ви бачили, як використовувати клієнти POP3 та IMAP для отримання та читання повідомлень електронної пошти. Ви можете дізнатися більше про бібліотеку електронної пошти Python за допомогою документації. Крім того, ви можете опублікувати свої запити на нашому форумі.

Дивись також