Python SMTP无法接收邮件

5 投票
1 回答
5000 浏览
提问于 2025-04-18 09:44

你好,我正在尝试让Python 3在Ubuntu上发送一封简单的邮件。

我启动了一个简单的SMTP服务器,命令是:

python -m smtpd -n -c DebuggingServer localhost:1025

下面是我邮件服务器的代码:

import smtplib

message = """
Hello
"""
sender = "dancbtalk@yahoo.com"
receivers=["dancbtalk@yahoo.com"]
try:
   smtpObj = smtplib.SMTP('localhost', 1025)
   smtpObj.sendmail(sender, receivers, message)         
   print "Successfully sent email"
except smtplib.SMTPException:
   print "Error: unable to send email"

我的输出显示邮件发送成功,但当我实际检查那个邮箱时,却什么也没收到。我已经用几个不同的邮箱尝试过了。

1 个回答

4

你的消息没有任何头部信息。更准确地说,你的消息里只有头部信息,但这些头部信息都不被认为是有效的。至少,你可能想要添加主题、发件人和收件人这些头部信息。例如:

sender    = "dancbtalk@yahoo.com"
receivers = ["dancbtalk@yahoo.com"]

headers = f"""From: {sender}
To: {", ".join(receivers)}
Subject: Hello
"""

message = headers + "\n" + """
Hello
"""

撰写回答