У меня проблема с отправкой почты: TypeError: __init __ () получил неожиданный аргумент ключевого слова 'context' - PullRequest
0 голосов
/ 14 февраля 2019

Я хочу сделать скрипт Python на NAS-устройстве Synology.Скрипт отправит письмо по завершении резервного копирования.Я не знаю, почему скрипт, который работал на windows в pycharm, не работает на синологию ... Его проблема с context = context.Это NAS-устройство Synology с установленными модулями python и python.Python видит все пути к файлам, но он не может отправить письмо

Ответы [ 2 ]

0 голосов
/ 13 июля 2019

Аргумент context является новым с python 3.3: https://docs.python.org/3/library/smtplib.html#smtplib.SMTP_SSL

Вы получите эту ошибку, если вы используете неправильную версию python.

0 голосов
/ 14 февраля 2019

Вы звоните

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

Согласно документам, функция имеет другую подпись:

class smtplib.SMTP_SSL([host[, port[, local_hostname[, keyfile[, certfile[, timeout]]]]]])

Ваш последний аргумент (context=context) выглядит как определение параметра сзначение по умолчанию.Вы не можете вызвать такую ​​функцию.Просто опустите контекст и позвоните:

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

Это ссылка на официальные документы: https://docs.python.org/2/library/smtplib.html#smtplib.SMTP_SSL

...