我使用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