首页 > 代码库 > python smtp 群发邮件
python smtp 群发邮件
最近工作中遇到使用脚本处理问题并发送结果邮件,使用python的smtp模块很简单的完成了实现。今天遇到一个问题,根据脚本的测试结果需要群发邮件,但是发送邮件的py文件只有首个地址收到了邮件。仔细排查发现个有意思的地方:
发送邮件的py大致如下:
1 def sendmail(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)<type ‘str‘>>>> 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)<type ‘str‘>
>>> a == c
True
以上看 a 与c没什么区别,使用方法2 成功搞定。有时间在继续看看吧,没知识太可怕了呵呵。
备注:
使用的是Gmail邮箱
python smtp 群发邮件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。