将“从标题”添加到电子邮件?

时间:2021-03-15 19:13:59

标签: python email ssl smtplib

我正在尝试从非 Gmail 电子邮件地址向 Gmail 帐户发送电子邮件,但出现以下错误:

Mail delivery failed: returning message to sender

Our system has detected that this message is
    550-5.7.1 not RFC 5322 compliant:
    550-5.7.1 'From' header is missing.

这是我的代码:

import smtplib
import ssl
import getpass

port = 465  # For SSL
smtp_server = "website.net"
sender_email = "foo@website.net"
receiver_email = "foo@gmail.com"
password = getpass.getpass(prompt='Type your password and press enter: ')
message = "This message is sent from Python."

context = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message)

我可以给自己发送电子邮件,但是将它们发送到 Gmail 地址会出现 'From' header is missing 错误。我该如何添加?

1 个答案:

答案 0 :(得分:1)

将标题添加到 message 变量中。

message = f"""From: {sender_email}
To: {receiver_email}

This message is sent from Python."""

您还应该添加一个 To: 标头。否则收件人将被视为密件抄送。