Я пытаюсь автоматизировать отправку электронной почты с помощью скрипта python. В настоящее время я использую сценарий ожидания для использования openssl s_client для подключения к серверу. В настоящее время мы используем только файл сертификата вместе с паролем имени пользователя, и он позволяет мне отправить электронное письмо. Я нашел еще один вопрос, в котором упоминалось, что в python вам нужно либо взломать, либо оболочку вокруг класса smtp использовать только файл сертификата CA, а не файл ключа (которого у меня нет).Использование python для отправки электронной почты через TLS
>>> smtpobj = smtplib.SMTP("mymailserver.com",465)
Traceback (innermost last):
File "<stdin>", line 1, in <module>
File "C:\Program Files (x86)\Python35-32\lib\smtplib.py", line 251, in __init__
(code, msg) = self.connect(host, port)
File "C:\Program Files (x86)\Python35-32\lib\smtplib.py", line 337, in connect
(code, msg) = self.getreply()
File "C:\Program Files (x86)\Python35-32\lib\smtplib.py", line 390, in getreply
+ str(e))
smtplib.SMTPServerDisconnected: Connection unexpectedly closed: [WinError 10054] An existing connection was forcibly closed by the remote host
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я не могу подключиться к серверу через python.
Если я использую файл сертификата для подключения через
smtplib.SMTP_SSL(myserver, port, certfile="mycert.cert")
то выдает следующее сообщение об ошибке.
ssl.SSLError: [Errno 336265225] _ssl.c:339: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib
Обратите внимание, что я могу подключиться к серверу с помощью thunderbird без файла сертификата. Любые идеи о том, как я могу использовать python smtp (tls) для отправки электронных писем?
Спасибо, что поняли! SMTP_SSL работал как шарм – Sanjay