Python logging.SMTP обработчик не работает - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь создать отдельный регистратор, который будет отправлять журналы ошибок по электронной почте. Однако каждый раз, когда я вызываю email_logger.error ('...') , возникает следующая ошибка:

smtplib.SMTPNotSupportedError: расширение SMTP AUTH не поддерживается сервером.

Код, который я использую, отображается ниже:

logging.basicConfig(level=logging.INFO, format='%(asctime)s :: %(funcName)s :: %(levelname)s :: %(message)s')

email_logger = logging.getLogger(__name__)
email_logger.setLevel(logging.WARNING)

with smtplib.SMTP('smtp.gmail.com', 587) as server:
    server.ehlo()
    server.starttls()
    server.ehlo()
    server.login('host_email@gmail.com', r'thisismypassword')
    smtp_handler = logging.handlers.SMTPHandler(mailhost=('smtp.gmail.com', 587),
                                                fromaddr='host_email@gmail.com',
                                                toaddrs=['mymail@gmail.com'],
                                                subject='A dashing subject',
                                                credentials=('host_email@gmail.com',
                                                             r'thisismypassword'),
                                                secure=None)
    formatter = logging.Formatter('%(asctime)s : %(funcName)s : %(levelname)s : %(name)s : %(message)s')
    smtp_handler.setFormatter(formatter)
    email_logger.addHandler(smtp_handler)

1 Ответ

0 голосов
/ 13 марта 2020

Когда я использую Gmail для отправки писем от Python Я использую:

server = smtplib.SMTP_SSL('smtp.gmail.com', 465) 

Кроме того, попробуйте подключиться к серверу только в обычной python оболочке

server = smtplib.SMTP_SSL('smtp.gmail.com', 465) 
server.login(username, password)

чтобы убедиться, что ваши данные верны, вам может потребоваться установить пароль приложения для использования Gmail из приложения в зависимости от настроек безопасности

...