我正在尝试创建一个简单的python程序来发送电子邮件。以下是相关的代码行。我想要使用“收件人”字段发送电子邮件。当我运行程序,并检查测试电子邮件帐户时,程序似乎是通过BCC发送它。
以下是相关的代码行。
smtp = smtplib.SMTP(server)
smtp.sendmail(send_from,["testaddress@testdomain.com"],"hello")
我缺少一个设置吗?
答案 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。