Server.sendmail() 将我的收件人设置为密件抄送

Server.sendmail() sets my recipient as a BCC

我正在尝试使用 python 向特定收件人发送电子邮件,但我的代码一直将收件人设置为密件抄送。我该如何更改它以将其设置为正常 To?

谢谢!

这是我的代码

import smtplib


def send_email(subject, msg):
    login = "My_email"
    password = "password"
    reciever = "recipient@gmail.com"
    try:
        server = smtplib.SMTP('smtp.gmail.com:587')
        server.ehlo()
        server.starttls()
        server.login(login, password)
        message = 'Subject: {}\n\n{}'.format(subject, msg)
        server.sendmail(login, reciever, message)
        server.quit()
        print("Success: Email sent!")
    except:
        print("Email failed to send.")

subject = "Test email"
Sensor_Message = "This has worked"
send_email(subject, Sensor_Message)

我不知道 python,但我认为问题在于:您的邮件不包含包含收件人电子邮件地址的 To: 或 Cc: 电子邮件 header。

因为收件人的电子邮件地址在通过 SMTP 发送的 RCPT TO 命令列表中,而不是在电子邮件 headers 中,所以收件人的 MUA(例如 Gmail、Outlook、Thunderbird 等)将其视为作为密件抄送。

要解决此问题,请确保邮件包含收件人:或抄送:header。

不相关的吹毛求疵:正确的拼写是“receiver”

祝你好运!