Невозможно подключиться к Gmail / Outlook, используя IMAP в Python - PullRequest
0 голосов
/ 20 ноября 2018

Я попытался подключиться к серверу Gmail, используя IMAP в Spyder (Python 3.6), используя пакет Chilkat.Я включил IMAP для всей почты в Настройки> Пересылка и POP / IMAP , а затем я также включил вкладку менее безопасные приложения здесь https://myaccount.google.com/lesssecureapps?pli=1 после входа в систему.Но в этом коде

import sys
import chilkat

imap = chilkat.CkImap()

#  Anything unlocks the component and begins a fully-functional 30-day trial.
success = imap.UnlockComponent("Anything for 30-day trial")
if (success != True):
    print(imap.lastErrorText())
    sys.exit()

#  Connect to an IMAP server.
#  Use TLS
imap.put_Ssl(True)
imap.put_Port(993)
success = imap.Connect("imap.gmail.com")

Переменная success, которая является boolean, остается ложной.Пожалуйста, помогите мне.Моя цель - извлечь все вложения с сервера Outlook и выгрузить их в файл. Но я даже не могу подключиться к серверу Gmail.Я пытался использовать "imap.mail.Outlook.com", но это также не удалось.Я не знаю, как включить IMAP в Outlook.Но даже если он включен в Gmail, почему он не работает?

1 Ответ

0 голосов
/ 23 ноября 2018

Первый шаг - изучить содержимое свойства imap.LastErrorText, чтобы увидеть, что произошло.Например:

#  Connect to an IMAP server.
#  Use TLS
imap.put_Ssl(True)
imap.put_Port(993)
success = imap.Connect("imap.someMailServer.com")
if (success != True):
    print(imap.lastErrorText())
    sys.exit()

Я предполагаю, что брандмауэр (программный или аппаратный) блокирует исходящее соединение.

Альтернативным решением является использование API-интерфейса REST GMail, как показано в следующих примерах: https://www.example -code.com / python / gmail.asp HTTP-порты (443) вряд либыть заблокирован брандмауэром.Вы должны загрузить в объект электронной почты Chilkat, а затем сохранить вложения точно так же, как если бы вы загружали через IMAP.

...