Получение электронных писем с POP3‑сервера

Получить информацию о почтовом ящике и количество сообщений

API Aspose.Email позволяет выполнять различные операции с сообщениями на сервере, включая получение информации о почтовом ящике, такой как количество сообщений и размер ящика, используя get_mailbox_size() и get_mailbox_info() методов.

  • Этот get_mailbox_size() метод возвращает размер ящика в байтах.
  • Этот get_mailbox_info() метод возвращает объект типа Pop3MailBoxInfo.

Также можно получить количество сообщений с помощью message_count property and the size using the `occupied_size`` property. The following sample code shows how to get information about the mailbox. It shows how to:

  1. Создайте Pop3Client.
  2. Подключиться к серверу POP3.
  3. Получить размер ящика.
  4. Получить информацию о ящике.
  5. Получить количество сообщений в ящике.
  6. Получить занятый размер.

Получить только количество сообщений

Приведённый выше пример кода демонстрирует, как получить статистику почтового ящика, такую как размер или использованное место, вместе с общим числом сообщений в ящике. Следующий пример кода покажет, как напрямую получить количество электронных писем в ящике. Этот метод проще и быстрее, если вам нужен только подсчёт сообщений.

Получить только заголовки электронных писем

Aspose.Email позволяет разработчикам получать метаданные писем без загрузки полного содержимого сообщения. Во многих сценариях полезно просматривать только заголовки писем — такие как отправитель, тема и дата получения — чтобы решить, стоит ли извлекать сообщение полностью. Такой подход снижает нагрузку на сервер и улучшает производительность, особенно при работе с большими почтовыми ящиками через POP3‑соединение.

Следующий пример кода демонстрирует, как подключиться к POP3‑серверу и получить только заголовки конкретного сообщения, используя его порядковый номер. Эта лёгкая операция помогает принимать обоснованные решения о том, какие письма загружать, а какие игнорировать.

Загрузить электронные письма с сервера

Aspose.Email Pop3Client класс предоставляет возможность получать письма с POP3‑сервера и преобразовывать их в экземпляры MailMessage. Это становится возможным благодаря свойствам и методам MailMessage класс, который облегчает работу с содержимым письма. С помощью fetch_message метод Pop3Client класс, вы можете получить MailMessage экземпляр непосредственно с POP3‑сервера. Следующий фрагмент кода демонстрирует, как извлечь всё письмо с сервера:

Получить сводную информацию о сообщении по уникальному ID

POP3‑клиент API позволяет получать сводную информацию о сообщениях с сервера, используя их уникальные идентификаторы. Эта функция обеспечивает быстрый доступ к важным деталям сообщения без необходимости сначала загружать всё его содержание. Следующий фрагмент кода показывает, как получить сводную информацию о сообщении с использованием Aspose.Email Python API:

Список сообщений с использованием нескольких соединений

Для тяжёлых операций Aspose.Email предлагает use_multi_connection свойство Pop3Client класс для использования нескольких соединений при получении писем. Важно отметить, что включение этого режима не всегда гарантирует повышение производительности. Следующий фрагмент кода показывает, как установить соединение с POP3‑сервером, настроить клиент так, чтобы он разрешал до 5 одновременных соединений, и включить режим многопоточного соединения для получения информации о сообщениях, хранящихся на сервере:

import aspose.email as ae

client = ae.clients.pop3.Pop3Client("host", 995, "username", "password", ae.clients.SecurityOptions.AUTO)

client.connections_quantity = 5
client.use_multi_connection = ae.clients.MultiConnectionMode.ENABLE
message_info_coll = client.list_messages()