将 'From header' 添加到电子邮件?

Add 'From header' to email?

我正在尝试从非 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 错误。我该如何添加?

将 header 添加到 message 变量。

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

This message is sent from Python."""

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