python发邮件时,为什么发件人列表不是1 by 1,而是多个呢

小吵 2020-09-06 11:31:11
如下,python发邮件时,把收件人主知member列表里,然后用for循环挨个的取出挨个的发,
第一个邮件是a@qq.com收到,
但是第二个则是a收到,b也收到
第三个则是a收到,b收到,c也收到,
这是为什么呢?
我本意是希望a收到一个邮件,b收到一个,c收到一个的


try:
member=["a@qq.com","b7@qq.com","c@163.com"]

for to_mail in member:
a=a+1
subject=str(a)+'-Python邮件-'+nowtime
message['To']=Header(to_mail)
message['Subject']=Header(subject,'utf-8')#邮件标题

stmp.sendmail(from_addr, to_mail, message.as_string())
# print (subject,to_mail)
print (to_mail+','+str(a)+'-邮件发送成功',nowtime)
time.sleep(0.1)
...全文
140 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小吵 2020-09-28
  • 打赏
  • 举报
回复
引用 2 楼 慕飒潇湘的回复:

member=["a@qq.com","b7@qq.com","c@163.com"]
subject=str(a)+'-Python邮件-'+nowtime
message['To']=Header(member)
message['Subject']=Header(subject,'utf-8')#邮件标题
stmp.sendmail(from_addr, to_mail, message.as_string())        
print (to_mail+','+str(a)+'-邮件发送成功',nowtime)
我是想,不同的收件人发送不同的内容,所以需要遍历, 每一个人都接收不同的内容
慕飒潇湘 2020-09-07
  • 打赏
  • 举报
回复

member=["a@qq.com","b7@qq.com","c@163.com"]
subject=str(a)+'-Python邮件-'+nowtime
message['To']=Header(member)
message['Subject']=Header(subject,'utf-8')#邮件标题
stmp.sendmail(from_addr, to_mail, message.as_string())        
print (to_mail+','+str(a)+'-邮件发送成功',nowtime)
慕飒潇湘 2020-09-07
  • 打赏
  • 举报
回复
不需要遍历的,message['To']=Header(to_mail),这里的to_mail接收的就是一个列表,你全部给进来就行了,不需要遍历,你debug一下Header参数类型就能看出来

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧