python SMTP 未收到邮件

use*_*190 5 python email smtp

你好,我正在尝试让 python 3 从 Ubuntu 发送一封简单的电子邮件。

我启动了一个简单的 smpt 服务器: 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"
Run Code Online (Sandbox Code Playgroud)

我的输出显示电子邮件已成功发送,但当我实际检查该电子邮件帐户时,它没有收到任何内容。我已经用几个电子邮件帐户尝试过此操作。

kin*_*all 4

您的消息没有任何标题。或者更准确地说,您的消息包含标头,其中任何标头都不会被识别为有效。至少您可能想要添加“主题”、“发件人”和“收件人”标头。例如

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

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

message = headers + "\n" + """
Hello
"""
Run Code Online (Sandbox Code Playgroud)