python群发邮件_python smtp 群发邮件

最近工作中遇到使用脚本处理问题并发送结果邮件,使用python的smtp模块很简单的完成了实现。今天遇到一个问题,根据脚本的测试结果需要群发邮件,但是发送邮件的py文件只有首个地址收到了邮件。仔细排查发现个有意思的地方:

发送邮件的py大致如下:

1 defsendmail(message,to_addrs)2 ............................3 ...........................4 msg =MIMEMultipart()5 msg['From'] =_from6 msg['To'] =to_addrs7 ......................8 ......................9 mailserver.sendmail(_from, to_addrs, message)

方法1 使用的方法是获取到邮件地址后,以“test@test.com,kratos@test.com,admin@test.com”以字符串形式作为参数“to_addrs”给了sendmail。脚本运行结束后只有test@test.com邮箱收到了邮件,后续地址均未收到邮件。

google 了python 的smtp之后,修改的方法是:

方法2 以["test@test.com","kratos@test.com","admin@test.com"]以列表形式作为参数“to_addrs”给了sendmail。

然后将“msg["To"] = to_addrs” 行修改为 “msg["To"] = ",".join(to_addrs)”搞定,指定的邮件列表中的账户均收到邮件

>>> a = "test@test.com,kratos@test.com,admin@test.com"

>>>a'test@test.com,kratos@test.com,admin@test.com'

>>>type(a)

>>> b = ["test@test.com","kratos@test.com","admin@test.com"]>>> c = ",".join(b)>>>c'test@test.com,kratos@test.com,admin@test.com'

>>>type(c)

>>> a == c

True

以上看 a 与c没什么区别,使用方法2 成功搞定。有时间在继续看看吧,没知识太可怕了呵呵。

备注:

使用的是Gmail邮箱

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值