![](/img/trans.png)
[英]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.