繁体   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