我使用python脚本发送多个收件人邮件,并且它可以工作,但在邮件的“收件人”中,该字段为空。在我试过的每个邮件提供商上。Python2.7发送邮件,为什么msg ['To']保持空白?
这里是我的代码:
def send_mail(self, server, send_from, subject, attach, foo=None, bar=None)
msg = MIMEMultipart()
msg['From'] = send_from
msg['Subject'] = subject
body = u"""<html> My Body </html>"""
#Attach file pdf
msg.attach(MIMEText(body, 'html', 'utf-8'))
filename = 'fname.pdf'
attachment = open(attach, "rb")
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename = %s" % filename)
msg.attach(part)
text = msg.as_string()
if foo != None and bar != None:
recipients = ["[email protected]", "[email protected]"]
msg['To'] = ", ".join(recipients)
server.sendmail(send_from, recipients, text)
else:
msg['To'] = "[email protected]"
server.sendmail(send_from, msg['To'], text)
sleep(1)
味精[“要”]应该是在我的邮件,但它保持为空“到”。 (即使在只有一个收件人的“其他”中)。我在现有的问题上找不到任何帮助,所以我来请求你的帮助。
对于“if”的第一个块,var收件人是一个列表,所以我发送列表(并且问题仍然出现在邮件中的“To”)。对于第二块我只有一个收件人,我还需要给出一个元素的列表?我只用一个收件人完成了很多类似的脚本,我查了一下,我没有给出一个列表。 –
嗨,对不起。我错误地理解了你的问题,所以我的回答是错误的。我将删除这个答案,因为它的误导。 – Ymartin