python – SMTP中的密件抄送字段[显示不显示]问题

python – SMTP中的密件抄送字段[显示不显示]问题,第1张

概述我正在尝试使用 python的smtplib通过gmail发送一封带有密件抄送地址的电子邮件. 我用这个代码: #imports etc...fromAddr = sender@origin.comto = [ recpt1@destinationTo.com ]cc = [ recpt2@destinationCc.com ]bcc = [ recpt3@destinationBcc.c 我正在尝试使用 python的smtplib通过gmail发送一封带有密件抄送地址的电子邮件.
我用这个代码:

#imports etc...fromAddr = sender@origin.comto = [ recpt1@destinationTo.com ]cc = [ recpt2@destinationCc.com ]bcc = [ recpt3@destinationBcc.com,recpt4@destinationBcc.com ]server = SMTP( "smtp.gmail.com",587)#starttls,login,etc..content = "Hello,this is a message."msg = "From: %s\r\nTo:%s\r\nCc: %s\r\n\r\n%s" % ( from,to,cc,content )server.sendmail( fromAddr,to + cc + bcc,msg )#server.quit() etc...

– >当我进入相应的收件箱时,我收到[to cc bcc]中所有地址的相同信息,这是对的.但

我想要发生的是每个密件抄送地址都有一个带有自己地址的密件抄送字段,就像here中描述的gmail网页界面一样.

这就是我想要完成的事情:

抄送和收件箱:

To: recpt1@destinationTo.comFrom: sender@origin.comCc: recpt2@destinationCc.com(...)

recpt3收件箱:

To: recpt1@destinationTo.comFrom: sender@origin.comCc: recpt2@destinationCc.comBcc: recpt3@destinationBcc.com(...)

recpt4收件箱:

To: recpt1@destinationTo.comFrom: sender@origin.comCc: recpt2@destinationCc.comBcc: recpt4@destinationBcc.com(...)

有没有人设法让这个工作?我一直在查看smtp rfc文件,我什么都没发现,我不明白gmail是如何做到的

解决方法 我的猜测是,gmail为每个BCC收件人执行单独的SMTP会话.如果您的两条评论之间的所有内容都是函数dosend(fromAddr,toAddr,content,bcc = None),您可能会执行以下 *** 作:

dosend(fromAddr,to+cc,cc)for t in bcc:    dosend(fromAddr,t,t)

这会将它一次发送到to和cc地址,然后使用适当的bcc标题将其再次发送到每个bcc地址.只是为了澄清剂量的作用:fromAddr和toAddr参数用于包络(server.sendmail的第一个和第二个参数). to,cc和(可选)bcc参数用于msg中的标头. (您的代码不会添加密件抄送,如果提供了可选参数密件抄送,则需要添加密码.)

(编辑:我删除了关于它可能使用X-Bcc的可能性的评论.我只是尝试了它,它的工作原理如上所述.我还修复并澄清了dosend的描述.)

总结

以上是内存溢出为你收集整理的python – SMTP中的密件抄送字段[显示/不显示]问题全部内容,希望文章能够帮你解决python – SMTP中的密件抄送字段[显示/不显示]问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存