python默认使用BCC发送电子邮件而不是To

时间:2016-01-07 02:27:47

标签: python smtp

我正在尝试创建一个简单的python程序来发送电子邮件。以下是相关的代码行。我想要使​​用“收件人”字段发送电子邮件。当我运行程序,并检查测试电子邮件帐户时,程序似乎是通过BCC发送它。

以下是相关的代码行。

smtp = smtplib.SMTP(server) 
smtp.sendmail(send_from,["testaddress@testdomain.com"],"hello")

我缺少一个设置吗?

1 个答案:

答案 0 :(得分:2)

来自https://docs.python.org/2/library/smtplib.html#smtplib.SMTP.sendmail

  

注意from_addr和to_addrs参数用于构造传输代理使用的消息信封。 SMTP不会以任何方式修改邮件头。

所以这意味着你构建了" To:"收件人将在邮件正文中看到的标头,但选择邮件将在to_addrs参数中转到sendmail的实际收件人。例如:

message='To: {}\r\nSubject: {}\r\n\r\n{}'.format('visible@example.com', subject, body)

smtp = smtplib.SMTP(server)
smtp.sendmail(send_from, ['visible@example.com', 'invisible@example.com'], message)
smtp.quit()

invisible@example.com将是BCC' d。