折腾:
【已解决】Python中smtp如何发送多个收件人地址且带名字的且可以被格式化
期间,
已经用了smtp的ssl去发送邮件了,但是结果:
第一收件人[email protected]并没有收到邮件。。。
第二收件人也没有收到邮件。。。
那去把端口号从465改为587:
smtpPort=587,
结果直接出错:
smtpObj = smtplib.SMTP_SSL(smtpServer, smtpPort)
File “/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py”, line 801, in __init__
SMTP.__init__(self, host, port, local_hostname, timeout)
File “/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py”, line 256, in __init__
(code, msg) = self.connect(host, port)
File “/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py”, line 316, in connect
self.sock = self._get_socket(host, port, self.timeout)
File “/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py”, line 807, in _get_socket
new_socket = ssl.wrap_socket(new_socket, self.keyfile, self.certfile)
File “/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py”, line 943, in wrap_socket
ciphers=ciphers)
File “/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py”, line 611, in __init__
self.do_handshake()
File “/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py”, line 840, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:661)
之前发送没收到,难道有延迟。
再去用465端口发试试,问题依旧:两个收件人都还是收不到。
去qq邮箱里看看,发件箱中是否有发出的邮件。
结果发现了,自己收到腾讯回复我的邮件发送失败的提示:
点击 填写验证码
理论上就可以发送邮件了。
【总结】
此处如果发送一些内容被腾讯检测怀疑是垃圾邮件,则python的smtp发送qq的邮件,会被QQ邮箱系统拒绝,且会显示在:
发件箱:标题是“邮件未能发送成功”,正文中告诉你是疑似垃圾邮件,点击“填写验证码”,输入验证码后,理论上可以继续发送成功的。
草稿箱:没有发布成功的邮件会保存在“草稿箱”中。
只不过是此处:
【未解决】Python中smtp如何发送多个收件人地址且带名字的且可以被格式化
还有其他问题:
带名字的多个收件人的如何格式化没有搞定,导致收件人地址乱了,所以才还是收不到。