[英]How to fix ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)?
[英]How to fix the error ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number?
我正在尝试使用 python 发送 email 但在发送 email 时出现错误,我在执行代码时也尝试了这两个命令(使用 python2 和 python3)
import smtplib,ssl
content= "prince kumar"
mail = smtplib.SMTP_SSL('gmail-smtp-in.l.google.com', 25)
#mail.ehlo()
#mail.starttls()
mail.login('kmrprncanu@gmail.com','83412adsf234sad')
mail.sendmail('kmrprncanu@gmail.com', 'kmrprnc44@gmail.com',content)
mail.close()
错误:
root@localhost:~# python smtp.py
Traceback (most recent call last):
File "smtp.py", line 6, in <module>
mail = smtplib.SMTP_SSL('smtp.gmail.com', 587)
File "/usr/lib/python2.7/smtplib.py", line 802, in __init__
SMTP.__init__(self, host, port, local_hostname, timeout)
File "/usr/lib/python2.7/smtplib.py", line 256, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python2.7/smtplib.py", line 317, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python2.7/smtplib.py", line 808, in _get_socket
new_socket = ssl.wrap_socket(new_socket, self.keyfile, self.certfile)
File "/usr/lib/python2.7/ssl.py", line 949, in wrap_socket
ciphers=ciphers)
File "/usr/lib/python2.7/ssl.py", line 617, in __init__
self.do_handshake()
File "/usr/lib/python2.7/ssl.py", line 846, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:726)
看起来错误是由错误使用port
号引起的。
您需要将端口从 25 更改为 465 或 587(理想情况下)以使用 SMTP 和 SSL; 端口 25 通常用于未加密的 email。 因此,将更改应用于此行,它应该可以解决您的问题。
mail = smtplib.SMTP_SSL('gmail-smtp-in.l.google.com', 587)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.