使用Python(Raspbian OS)发送电子邮件时出现SSL错误
我只是在Raspbian OS下用Python编写了以下代码:使用Python(Raspbian OS)发送电子邮件时出现SSL错误,python,email,raspbian,Python,Email,Raspbian,我只是在Raspbian OS下用Python编写了以下代码: import smtplib fromaddr = '*****@hotmail.de' toaddrs = '*****@hotmail.de' msg = 'Testmail' username = '*****@hotmail.de' password = '*****' server = smtplib.SMTP('smtp.live.com',587) server.ehlo() server.starttls()
import smtplib
fromaddr = '*****@hotmail.de'
toaddrs = '*****@hotmail.de'
msg = 'Testmail'
username = '*****@hotmail.de'
password = '*****'
server = smtplib.SMTP('smtp.live.com',587)
server.ehlo()
server.starttls()
server.login(username, password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
并获取以下错误消息:
python ail.py
Traceback (most recent call last):
File "ail.py", line 14, in <module>
server.login(username, password)
File "/usr/lib/python2.7/smtplib.py", line 601, in login
AUTH_PLAIN + " " + encode_plain(user, password))
File "/usr/lib/python2.7/smtplib.py", line 385, in docmd
return self.getreply()
File "/usr/lib/python2.7/smtplib.py", line 358, in getreply
+ str(e))
smtplib.SMTPServerDisconnected: Connection unexpectedly closed: [Errno 1] _ssl.c:1359:
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
python-ail.py
回溯(最近一次呼叫最后一次):
文件“ail.py”,第14行,在
server.login(用户名、密码)
文件“/usr/lib/python2.7/smtplib.py”,第601行,登录
身份验证\u平原+“”+编码\u平原(用户、密码))
docmd中的文件“/usr/lib/python2.7/smtplib.py”,第385行
返回self.getreply()
文件“/usr/lib/python2.7/smtplib.py”,第358行,在getreply中
+str(e))
smtplib.SMTPServerDisconnected:连接意外关闭:[Errno 1]\u ssl.c:1359:
错误:1408F10B:SSL例程:SSL3\u获取\u记录:版本号错误
什么是我的错?谁能帮帮我吗
在我登录
后向您致意http://live.com
并验证我的帐户;您的代码在Ubuntu python 2.7和python 3.3上的工作方式如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Send email via live.com."""
import smtplib
from email.mime.text import MIMEText
from email.header import Header
login, password = ...
msg = MIMEText(u'body…', 'plain', 'utf-8')
msg['Subject'] = Header(u'subject…', 'utf-8')
msg['From'] = login
recipients = [login]
msg['To'] = ", ".join(recipients)
s = smtplib.SMTP('smtp.live.com', 587, timeout=10)
s.set_debuglevel(1)
try:
s.starttls()
s.login(login, password)
s.sendmail(msg['From'], recipients, msg.as_string())
finally:
s.quit()
检查openssl
是否可以连接到它(ca证书
已安装,但未安装):
如果成功,;您可以替换(在子类中)以设置适当的ssl参数。@MaximeLorant:不,它不是dup;这是一个新问题,在得到答案后,他试图把这个问题变成这个问题。@abarnert哦,是的,的确。。。标题和帖子几乎是一样的,我很困惑……这似乎是一个骗局。但是没有人找到这个问题的答案。微软的服务器似乎有些古怪,使用Python 3.3扩展的SSL支持可能解决不了,也可能解决不了,但自从OP给了我们并切换到gmail后,没有人发现。无论如何,请尝试这个问题中的测试步骤,并尝试在桌面系统上运行代码,看看是否有任何特定于Rasp的操作。所以我没有机会发送这封该死的邮件?
$ openssl s_client -starttls smtp -connect smtp.live.com:587