python 发送的邮件有一个空白的收件人字段
python mails being sent out have a blank TO field
我有一个 python 发送电子邮件的脚本。电子邮件发送没有问题。
但是,当我收到邮件并打开它们时,它们的 "to:" 字段不显示收件人。它只是空白。我想显示所有收件人。而且由于我没有在我的脚本中使用任何 "bcc" 配置,所以我对这怎么可能感到困惑。
这是我使用的代码:
#!/usr/bin/env python
you = [ "MyEmail1@MyEmail.com", "MyEmail2@MyEmail.com" ]
for eachrecord in fformatErrMessage:
# Preparing all variables #
msg = MIMEMultipart()
msg['Subject'] = subjectMsg
part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')
msg.attach(part1)
msg.attach(part2)
s = smtplib.SMTP('localhost')
s.sendmail(me, you, msg.as_string())
s.quit()
我试过将你替换为:
you = "MyEmail1@MyEmail.com"
认为列表可能是问题所在 - 但那没有用。
发送电子邮件时,服务器不会查看收件人:- 字段。相反,电子邮件服务器有一种单独的方式来传输收件人地址,有时称为 "envelope",它们用于路由和传递邮件。客户端永远不会收到该信封,而是使用消息中的 To:-字段 headers.
sendmail() 调用只是设置 SMTP 信封的地址。如果您希望收件人:字段显示在邮件中,您必须设置适当的 header:
msg['To'] = "foo@bar.com"
顺便说一下,这就是密件抄送的工作原理:信封上的地址根本不会在邮件中重复 headers。
我有一个 python 发送电子邮件的脚本。电子邮件发送没有问题。
但是,当我收到邮件并打开它们时,它们的 "to:" 字段不显示收件人。它只是空白。我想显示所有收件人。而且由于我没有在我的脚本中使用任何 "bcc" 配置,所以我对这怎么可能感到困惑。
这是我使用的代码:
#!/usr/bin/env python
you = [ "MyEmail1@MyEmail.com", "MyEmail2@MyEmail.com" ]
for eachrecord in fformatErrMessage:
# Preparing all variables #
msg = MIMEMultipart()
msg['Subject'] = subjectMsg
part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')
msg.attach(part1)
msg.attach(part2)
s = smtplib.SMTP('localhost')
s.sendmail(me, you, msg.as_string())
s.quit()
我试过将你替换为:
you = "MyEmail1@MyEmail.com"
认为列表可能是问题所在 - 但那没有用。
发送电子邮件时,服务器不会查看收件人:- 字段。相反,电子邮件服务器有一种单独的方式来传输收件人地址,有时称为 "envelope",它们用于路由和传递邮件。客户端永远不会收到该信封,而是使用消息中的 To:-字段 headers.
sendmail() 调用只是设置 SMTP 信封的地址。如果您希望收件人:字段显示在邮件中,您必须设置适当的 header:
msg['To'] = "foo@bar.com"
顺便说一下,这就是密件抄送的工作原理:信封上的地址根本不会在邮件中重复 headers。