Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux上的Python Smtp SSL错误版本_Python_Ssl_Smtp - Fatal编程技术网

linux上的Python Smtp SSL错误版本

linux上的Python Smtp SSL错误版本,python,ssl,smtp,Python,Ssl,Smtp,我通过msft outlook.com发送电子邮件的代码可以在windows上运行,但不能在我的linux设备上运行。你知道怎么解决这个问题吗 import smtplib smtp = smtplib.SMTP('smtp.live.com', port=587) smtp.starttls() smtp.login(username, password) SMTPServerDisconnected: Connection unexpectedly closed: [Errno 1] _

我通过msft outlook.com发送电子邮件的代码可以在windows上运行,但不能在我的linux设备上运行。你知道怎么解决这个问题吗

import smtplib
smtp = smtplib.SMTP('smtp.live.com', port=587)
smtp.starttls()
smtp.login(username, password)

SMTPServerDisconnected: Connection unexpectedly closed: 
[Errno 1] _ssl.c:1359: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

编辑:更多详细信息:gentoo linux与python 2.7.3、openssl 0.9.8x和1.0.1c的结合,我敢打赌问题在另一边。你好,微软

我尝试登录过很多次,你不会相信我,但有些服务器会让我进去,而其他服务器不会。 尝试执行
smtp.ehlo()
以查找服务器的主机名(顺便说一句,您必须在会话开始时以及
STARTTLS
之后立即发出
ehlo

他们所有的服务器都有名称
BLU0-SMTPphx.gbl
。信不信由你,名称中有两位数字的服务器可以,但有三位数字的服务器则不行

In [52]: s = smtplib.SMTP('smtp.live.com', port=587)

In [53]: s.ehlo()
Out[53]:
(250,
 'BLU0-SMTP17.phx.gbl Hello [188.134.8.114]\nTURN\nSIZE 41943040\nETRN\nPIPELINING\nDSN\nENHANCEDSTATUSCODES\n8bitmime\nBINARYMIME\nCHUNKING\nVRFY\nTLS\nSTARTTLS\nOK')

In [54]: s.starttls()
Out[54]: (220, '2.0.0 SMTP server ready')

In [55]: s.ehlo()
Out[55]:
(250,
 'BLU0-SMTP17.phx.gbl Hello [188.134.8.114]\nTURN\nSIZE 41943040\nETRN\nPIPELINING\nDSN\nENHANCEDSTATUSCODES\n8bitmime\nBINARYMIME\nCHUNKING\nVRFY\nAUTH LOGIN PLAIN\nOK')

In [56]: s.login(login, password)
Out[56]: (235, '2.7.0 Authentication succeeded')


更新:嗯,似乎这是一个。

你的
python-V
openssl版本是什么?@korylprince python 2.7.3,openssl 0.9.8x我唯一能建议的就是升级你的openssl。你的代码对我来说很好。@korylprince你的openssl版本是什么?
2012年3月14日Ubuntu 12.04上的openssl 1.0.1
是的,这就是问题所在。我降级到1.0.0j,smtp现在可以正常工作。@kefeizhou为什么不升级到1.0.1e?@kirelagin,我在1.0.1e上遇到了同样的问题。
In [42]: s = smtplib.SMTP('smtp.live.com', port=587)

In [43]: s.ehlo()
Out[43]:
(250,
 'BLU0-SMTP116.phx.gbl Hello [188.134.8.114]\nTURN\nSIZE 41943040\nETRN\nPIPELINING\nDSN\nENHANCEDSTATUSCODES\n8bitmime\nBINARYMIME\nCHUNKING\nVRFY\nTLS\nSTARTTLS\nOK')

In [44]: s.starttls()
Out[44]: (220, '2.0.0 SMTP server ready')

In [45]: s.ehlo()
Out[45]:
(250,
 'BLU0-SMTP116.phx.gbl Hello [188.134.8.114]\nTURN\nSIZE 41943040\nETRN\nPIPELINING\nDSN\nENHANCEDSTATUSCODES\n8bitmime\nBINARYMIME\nCHUNKING\nVRFY\nAUTH LOGIN PLAIN\nOK')

In [46]: s.login(login, password)
---------------------------------------------------------------------------
SMTPServerDisconnected                    Traceback (most recent call last)