出于测试目的,我需要在数百个电子邮箱中填充各种消息,为此我将使用smtplib。但在其他事情中,我需要能够发送消息不仅到特定的邮箱,但抄送和密件他们以及。在发送电子邮件时, smtplib 看起来不支持抄送和密送。
寻找建议如何做抄送或密件抄送发送来自python脚本的消息。
(而且-不,我不会创建一个脚本来向我的测试环境之外的任何人发送垃圾邮件。)
发布于 2009-10-09 22:52:29
电子邮件头对smtp服务器无关紧要。当您发送电子邮件时,只需将抄送和密件抄送收件人添加到toaddr。对于CC,将它们添加到CC头部。
toaddr = 'buffy@sunnydale.k12.ca.us'
cc = ['alexander@sunydale.k12.ca.us','willow@sunnydale.k12.ca.us']
bcc = ['chairman@slayerscouncil.uk']
fromaddr = 'giles@sunnydale.k12.ca.us'
message_subject = "disturbance in sector 7"
message_text = "Three are dead in an attack in the sewers below sector 7."
message = "From: %s\r\n" % fromaddr
+ "To: %s\r\n" % toaddr
+ "CC: %s\r\n" % ",".join(cc)
+ "Subject: %s\r\n" % message_subject
+ "\r\n"
+ message_text
toaddrs = [toaddr] + cc + bcc
server = smtplib.SMTP('smtp.sunnydale.k12.ca.us')
server.set_debuglevel(1)
server.sendmail(fromaddr, toaddrs, message)
server.quit()
发布于 2009-10-09 22:41:38
收件人、抄送和密件抄送之间的区别仅出现在文本标题中。在SMTP级别,每个人都是接收者。
TO -有一个包含此收件人地址的TO:标头
抄送-存在包含此收件人地址的抄送:标头
密件抄送-此收件人根本不在标题中提及,但仍是收件人。
如果你有
TO: abc@company.com
CC: xyz@company.com
BCC: boss@company.com
您有三个收件人。电子邮件正文中的标题将仅包含收件人和抄送:
发布于 2015-04-14 20:17:56
请不要添加密件抄送标题。
看看这个:http://mail.python.org/pipermail/email-sig/2004-September/000151.html
还有:“请注意,sendmail()的第二个参数是作为列表传递的。您可以在列表中包括任意数量的地址,以便将邮件依次传递给每个收件人。由于信封信息与邮件标头是分开的,因此您甚至可以通过将其包含在方法参数中而不是邮件标头中来密送某人。”来自http://pymotw.com/2/smtplib
toaddr = 'buffy@sunnydale.k12.ca.us'
cc = ['alexander@sunydale.k12.ca.us','willow@sunnydale.k12.ca.us']
bcc = ['chairman@slayerscouncil.uk']
fromaddr = 'giles@sunnydale.k12.ca.us'
message_subject = "disturbance in sector 7"
message_text = "Three are dead in an attack in the sewers below sector 7."
message = "From: %s\r\n" % fromaddr
+ "To: %s\r\n" % toaddr
+ "CC: %s\r\n" % ",".join(cc)
# don't add this, otherwise "to and cc" receivers will know who are the bcc receivers
# + "BCC: %s\r\n" % ",".join(bcc)
+ "Subject: %s\r\n" % message_subject
+ "\r\n"
+ message_text
toaddrs = [toaddr] + cc + bcc
server = smtplib.SMTP('smtp.sunnydale.k12.ca.us')
server.set_debuglevel(1)
server.sendmail(fromaddr, toaddrs, message)
server.quit()
https://stackoverflow.com/questions/1546367
复制相似问题