Подключиться к IMAP-серверу С#

В различных случаях доступ к почтовым серверам осуществляется из приложений Python для чтения электронной почты или реализации почтовых клиентов. Для получения сообщений электронной почты с почтового сервера обычно используется протокол протокол доступа к сообщениям в Интернете (IMAP). В этой статье мы покажем вам, как читать электронные письма с сервера, используя IMAP в Python. В статье будет подробно описано, как подключиться к почтовому серверу, получить доступ к нужной папке и прочитать электронные письма.

Библиотека Python для чтения электронных писем с использованием IMAP

Чтобы читать электронные письма с почтового сервера через IMAP, мы будем использовать Aspose.Email для Python через .NET. Это мощная библиотека электронной почты, которая позволяет отправлять электронные письма и получать доступ к почтовым ящикам с почтовых серверов. Вы можете установить библиотеку из PyPI с помощью следующей команды.

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

Для ручной установки с использованием файла .whl выполните следующие действия.

  • Загрузите установочный файл .whl из раздела загрузки.
  • В командной строке используйте команду: pip install «FileName> >.whl для установки библиотеки.

Подключиться к серверу электронной почты через IMAP в Python

Ниже приведены шаги для подключения к серверу электронной почты с использованием IMAP.

  1. Создайте экземпляр класса ImapClient и инициализируйте его, указав имя хоста, порт, имя пользователя и пароль.
  2. Используйте объект ImapClient для доступа к почтовому ящику.

В следующем примере кода показано, как подключиться к серверу электронной почты с помощью IMAP в Python.

from aspose.email import SecurityOptions, ImapClient

# create an instance of ImapClient and provide host, port, username and password
client = ImapClient("imap.domain.com", 993, "user@domain.com", "password")

# set security options
client.security_options = SecurityOptions.SSLIMPLICIT

# use ImapClient object to access mailbox

Доступ к папкам электронной почты из почтового ящика в Python

После того, как вы установили соединение с сервером электронной почты, вы можете выбрать папку, из которой вы хотите читать сообщения электронной почты. Давайте сначала посмотрим, как получить список всех папок в почтовом ящике. Ниже приведены шаги для получения информации о каждой папке.

  1. Создайте экземпляр класса ImapClient и инициализируйте его, указав имя хоста, порт, имя пользователя и пароль.
  2. Используйте метод ImapClient.listfolders() для получения коллекции папок в объекте.
  3. Прокрутите коллекцию и извлеките информацию о папках.

В следующем примере кода показано, как распечатать сведения о папках в почтовом ящике.

from aspose.email import ImapClient

# create an instance of ImapClient and provide host, port, username and password
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # get list of folders
    folderInfoColl = client.list_folders()

    # iterate through the collection to get folders' info one by one
    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.

  1. Создайте экземпляр класса ImapClient и инициализируйте его, указав имя хоста, порт, имя пользователя и пароль.
  2. Используйте метод ImapClient.selectfolder(string) для выбора папки.

В следующем примере кода показано, как выбрать папку электронной почты из почтового ящика.

from aspose.email import ImapClient

# create an instance of ImapClient and provide host, port, username and password
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # select the folder from mailbox
    client.select_folder("Inbox")

Чтение писем из папки в Python

Ниже приведены шаги для чтения сообщений электронной почты из определенной папки в почтовом ящике с помощью Python.

  1. Создайте экземпляр класса ImapClient и инициализируйте его, указав имя хоста, порт, имя пользователя и пароль.
  2. Используйте метод ImapClient.selectfolder(string) для выбора папки.
  3. Получить список сообщений в папке с помощью метода client.listmessages().
  4. Перебрать коллекцию сообщений.
  5. Получите подробную информацию о каждом сообщении электронной почты и при необходимости сохраните его на диск.

В следующем примере кода показано, как читать электронные письма с почтового сервера в Python.

from aspose.email import ImapClient

# create an instance of ImapClient and provide host, port, username and password
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

        # select folder
        client.select_folder("Inbox")

        # read each message in collection
        for msg in client.list_messages():
            print( "From: '{}', MIME Id: {}".format(msg.from_address, msg.message_id) )
            
            # save message on disk
            client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

Получите бесплатную лицензию API

Вы можете бесплатно использовать Aspose.Email для Python через .NET, получив временную лицензию.

Вывод

В этой статье вы узнали, как читать электронные письма с почтового сервера, используя IMAP в Python. Примеры кода продемонстрировали, как подключиться к почтовому серверу, получить список папок в почтовом ящике, выбрать папку и прочитать электронные письма. Кроме того, вы можете посетить документацию, чтобы узнать больше об Aspose.Email для Python через .NET. Кроме того, вы можете скачать полный пакет примеров исходного кода с GitHub. Если у вас возникнут какие-либо вопросы или вопросы, сообщите нам об этом через наш форум.

Смотрите также