簡體   English   中英

如何修復錯誤 ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] 版本號錯誤?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM