gpt4 book ai didi

python - 如何修复 ssl.SSLError : [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl. c :1056)?

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:26 34 4
gpt4 key购买 nike

我正在尝试使用 python 发送电子邮件,但它一直显示 ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)。这是我的代码:

server = smtplib.SMTP_SSL('smtp.mail.com', 587)
server.login("something0@mail.com", "password")
server.sendmail(
"something0@mail.com",
"something@mail.com",
"email text")
server.quit()

你知道错在哪里吗?

最佳答案

SSL 的端口是 465 而不是 587,但是当我使用 SSL 时,邮件到达了垃圾邮件。

对我来说,有效的方法是在常规 SMTP 上使用 TLS 而不是 SMTP_SSL

请注意,这是一个安全的方法,如 TLS也是一种加密协议(protocol)(如 SSL)。

import smtplib, ssl

port = 587 # For starttls
smtp_server = "smtp.gmail.com"
sender_email = "my@gmail.com"
receiver_email = "your@gmail.com"
password = input("Type your password and press enter:")
message = """\
Subject: Hi there

This message is sent from Python."""

context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.ehlo() # Can be omitted
server.starttls(context=context)
server.ehlo() # Can be omitted
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message)

感谢 real python tutorial 提供.

关于python - 如何修复 ssl.SSLError : [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl. c :1056)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57715289/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com