Python 为什么可以';我不能使用此脚本向多个收件人发送电子邮件吗?
为什么我不能使用此脚本向多个收件人发送电子邮件 我没有收到任何错误或回退,并且第一个收件人确实收到了电子邮件。其他人都没有 剧本:Python 为什么可以';我不能使用此脚本向多个收件人发送电子邮件吗?,python,email,gmail,gmail-imap,Python,Email,Gmail,Gmail Imap,为什么我不能使用此脚本向多个收件人发送电子邮件 我没有收到任何错误或回退,并且第一个收件人确实收到了电子邮件。其他人都没有 剧本: #!/usr/bin/python import smtplib SMTP_SERVER = 'smtp.gmail.com' SMTP_PORT = 587 recipient = 'email@domain.com; email2@domain.com;' sender = 'me@gmail.com' subject = 'the subject' bod
#!/usr/bin/python
import smtplib
SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587
recipient = 'email@domain.com; email2@domain.com;'
sender = 'me@gmail.com'
subject = 'the subject'
body = 'the body'
password = "password"
username = "me@gmail.com"
body = "" + body + ""
headers = ["From: " + sender,
"Subject: " + subject,
"To: " + recipient,
"MIME-Version: 1.0",
"Content-Type: text/html"]
headers = "\r\n".join(headers)
session = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
session.ehlo()
session.starttls()
session.ehlo
session.login(username, password)
session.sendmail(sender, recipient, headers + "\r\n\r\n" + body)
session.quit()
标准标题中的收件人必须用逗号而不是分号分隔。我责怪Microsoft Outlook让人们产生了相反的想法。标准标题中的收件人必须用逗号分隔,而不是分号。我责怪Microsoft Outlook让人们产生了相反的想法。分号不是收件人标题中地址的正确分隔符。必须使用逗号
编辑:我现在看到您不正确地使用了库。您提供的字符串将始终被解释为单个地址。必须提供要发送给多个收件人的地址列表。分号不是收件人标题中地址的正确分隔符。必须使用逗号
编辑:我现在看到您不正确地使用了库。您提供的字符串将始终被解释为单个地址。您必须提供要发送给多个收件人的地址列表。您可以将电子邮件放入一个数组中,然后在数组中循环发送每封电子邮件,如下所示: (我的python已经生锈了……请原谅我的语法)
您可以,只需将电子邮件放入一个数组中,然后针对每封电子邮件在数组中循环,如下所示: (我的python已经生锈了……请原谅我的语法)
在代码中更改此选项:
recipient = ['email@domain.com','email2@domain.com']
headers = ",".join(headers)
session.sendmail(sender, recipient.split(","), headers + "\r\n\r\n" + body)
在代码中更改此选项:
recipient = ['email@domain.com','email2@domain.com']
headers = ",".join(headers)
session.sendmail(sender, recipient.split(","), headers + "\r\n\r\n" + body)
或者
recipient = ', '.join(recipient.split('; '))
如果您的收件人是一串分号分隔的地址。或者
recipient = ', '.join(recipient.split('; '))
如果您的收件人是一个由分号分隔的地址字符串。使用逗号并不能解决问题。您是否有标准电子邮件标题组成规范的URL?第3.6.3节,涉及地址列表,其定义为
地址列表=(地址*(“,”地址))/obs addr list
。obs地址列表也使用逗号。@KyleJones,谢谢你的链接。第3.4节也很有用,因为它定义了地址列表
@Trindaz,请参阅Kyle Jones添加的链接。使用逗号并不能解决问题。您是否有标准电子邮件标题组成规范的URL?第3.6.3节,涉及地址列表,其定义为地址列表=(地址*(“,”地址))/obs addr list
。obs地址列表也使用逗号。@KyleJones,谢谢你的链接。第3.4节也很有用,因为它定义了地址列表
@Trindaz,请参阅Kyle Jones添加的链接。使用逗号并不能解决问题。你有标准邮件头组成规范的URL吗?谢谢Kyle。我没有意识到这一点,因为我认为,因为查看第一个收件人的GMail帐户中的电子邮件“详细信息”显示第二个收件人已抄送,这是GMail端的一个问题。使用逗号并不能解决问题。你有标准邮件头组成规范的URL吗?谢谢Kyle。我没有意识到这一点,因为我认为,因为查看第一个收件人的GMail帐户中的电子邮件“详细信息”显示,第二个收件人被抄送,这是GMail端的一个问题。