gpt4 book ai didi

python - 无法通过Python发送电子邮件

转载 作者:太空宇宙 更新时间:2023-11-03 20:19:42 24 4
gpt4 key购买 nike

我尝试使用 gmail smtp 通过 python 发送电子邮件,但收到错误:

代码:

import smtplib

FROM = "mail1@gmail.com"
TO = "mail2@gmail.com"

message = "Hello"
# Send the mail

server = smtplib.SMTP('smtp.gmail.com', 465)
server.ehlo()
server.starttls()
server.login('mail1@gmail.com', 'password')
server.sendmail(FROM, TO, message)
server.quit()

回应:

server = smtplib.SMTP('smtp.gmail.com', 465)
File "C:\Python37\lib\smtplib.py", line 251, in __init__
(code, msg) = self.connect(host, port)
File "C:\Python37\lib\smtplib.py", line 338, in connect
(code, msg) = self.getreply()
File "C:\Python37\lib\smtplib.py", line 394, in getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed

最佳答案

根据Python文档中的示例 https://docs.python.org/3/library/smtplib.html

您的代码缺少“From: 和 To:” header

import smtplib

def prompt(prompt):
return input(prompt).strip()

fromaddr = prompt("From: ")
toaddrs = prompt("To: ").split()
print("Enter message, end with ^D (Unix) or ^Z (Windows):")

# Add the From: and To: headers at the start!
msg = ("From: %s\r\nTo: %s\r\n\r\n"
% (fromaddr, ", ".join(toaddrs)))
while True:
try:
line = input()
except EOFError:
break
if not line:
break
msg = msg + line

print("Message length is", len(msg))
server = smtplib.SMTP('localhost')
server.set_debuglevel(1)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()

运行上面的示例,然后修改您发布的代码。

关于python - 无法通过Python发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58239639/

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