我试图使用yahoo作为我的服务器通过python发送电子邮件,但是当我这样做时,我得到了错误信息
"ssl.SSLError: SSL: WRONG_VERSION_NUMBER错误的版本号(_ssl.c:1125)“
我猜,正如上面所说的,我的ssl版本与雅虎的不匹配,但我找不到雅虎在任何地方使用的版本。我使用ssl.OPENSSL_VERSION来标识我的版本,它是"OpenSSL 1.1.1i“
有人知道我怎么解决这个问题吗?我已经包含了下面的代码
import smtplib
msg = "Hello!, this is a test email. Goodbye!"
fromadd = '*****@yahoo.com'
toadd = 'email@domain.com'
subject = 'Python Test Email'
username = str('*****@yahoo.com')
password = str('********')
server = smtplib.SMTP_SSL('smtp.mail.yahoo.com', 587)
server.ehlo()
server.login(username, password)
server.sendmail(fromadd, toadd, msg)
server.quit()以及确切的错误消息:
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1125)发布于 2021-07-02 01:35:45
服务器= smtplib.SMTP_SSL('smtp.mail.yahoo.com',587)
端口587用于纯SMTP,其中TLS由显式纯文本STARTTLS命令(显式TLS)启动。为此,请结合使用smtplib.SMTP和starttls()。
要使用smtplib.SMTP_SSL (隐式TLS,即直接在TCP连接之后),应改为连接到端口465。
https://stackoverflow.com/questions/68214149
复制相似问题