【问题标题】:How to fix the error ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number?如何修复错误 ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] 错误的版本号?
【发布时间】:2020-10-27 12:35:28
【问题描述】:

我正在尝试使用 python 发送电子邮件,但在发送电子邮件时出现错误,我在执行代码时也尝试了这两个命令(使用 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)

【问题讨论】:

标签: python


【解决方案1】:

错误似乎是由于错误使用了port 号码。

您需要将端口从 25 更改为 465 或 587(理想情况下)才能使用带有 SSL 的 SMTP;端口 25 通常用于未加密的电子邮件。因此,将更改应用于此行,它应该可以解决您的问题。

mail = smtplib.SMTP_SSL('gmail-smtp-in.l.google.com', 587)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 2018-03-23
    • 2019-04-05
    • 2012-04-15
    • 2019-10-13
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多