Підключення до сервера IMAP C#

У різних випадках доступ до серверів електронної пошти здійснюється з програм Python для читання електронних листів або впровадження поштових клієнтів. Для отримання електронних листів із сервера електронної пошти зазвичай використовується протокол Internet Message Access Protocol(IMAP). У цій статті ми покажемо вам, як читати електронні листи через IMAP у Python. У статті буде детально описано, як підключитися до сервера електронної пошти, отримати доступ до потрібної папки та прочитати електронні листи.

Бібліотека Python для читання електронних листів через IMAP – Безкоштовне завантаження

Щоб читати електронні листи з сервера електронної пошти через IMAP, ми будемо використовувати Aspose.Email for 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

# створити екземпляр ImapClient і вказати хост, порт, ім’я користувача та пароль
client = ImapClient("imap.domain.com", 993, "user@domain.com", "password")

# встановити параметри безпеки
client.security_options = SecurityOptions.SSLIMPLICIT

# використовувати об’єкт ImapClient для доступу до поштової скриньки

Python: доступ до папок електронної пошти в поштовій скриньці

Після встановлення з’єднання з сервером електронної пошти можна вибрати папку, з якої ви хочете прочитати повідомлення електронної пошти. Давайте спочатку перевіримо, як отримати список усіх папок у поштовій скриньці. Нижче наведено кроки для отримання інформації про кожну папку.

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

У наведеному нижче прикладі коду показано, як надрукувати відомості про папки в поштовій скриньці.

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.

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

У наведеному нижче прикладі коду показано, як вибрати папку електронної пошти з поштової скриньки.

from aspose.email import ImapClient

# створити екземпляр ImapClient і вказати хост, порт, ім’я користувача та пароль
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # виберіть папку з поштової скриньки
    client.select_folder("Inbox")

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

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

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

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

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 – отримайте безкоштовну ліцензію

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

Висновок

У цій статті ви дізналися, як читати електронні листи з сервера електронної пошти за допомогою IMAP у Python. Зразки коду продемонстрували, як підключитися до сервера електронної пошти, отримати список папок у поштовій скриньці, вибрати папку та прочитати електронні листи. Крім того, ви можете відвідати документацію, щоб дізнатися більше про Aspose.Email for Python через .NET. Також ви можете завантажити повний пакет зразків вихідного коду з GitHub. Якщо у вас виникнуть будь-які запитання чи запити, не соромтеся повідомити нас через наш форум.

Дивись також