python smtp 群发邮件

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

发送邮件的py大致如下:

1 def sendmail(message,to_addrs)
2        ............................
3        ...........................
4        msg = MIMEMultipart()
5        msg[‘From‘] = _from
6        msg[‘To‘] = to_addrs
7        ......................
8        ......................
9        mailserver.sendmail(_from, to_addrs, message)

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

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

方法2 以["[email protected]","[email protected]","[email protected]"]以列表形式作为参数“to_addrs”给了sendmail。

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

>>> a = "[email protected],[email protected],[email protected]"
>>> a
‘[email protected],[email protected],[email protected]‘
>>> type(a)
<type ‘str‘>
>>> b = ["[email protected]","[email protected]","[email protected]"]
>>> c = ",".join(b)
>>> c
‘[email protected],[email protected],[email protected]‘
>>> type(c)
<type ‘str‘>>>> a == cTrue

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

备注:

  使用的是Gmail邮箱

时间: 2024-11-23 02:53:16

python smtp 群发邮件的相关文章

Python——SMTP发送邮件

一.定义 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. 二.Python创建STMP对象 import smtplib smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] ) #host: SMTP 服务器主机. 你可

python smtp 通过MIMEText类 发送HTML格式的邮件

由于纯文本的邮件内容已经不能满足多样化的需求,主要介绍通过引入mail.mime的MIMEText 类来实现支持HTML格式的邮件,支持所有HTML格式的元素,包括表格,图片,动画,css样式,表单等.(参考刘老师文献) 案例中收集的是最简单的服务器硬件信息,通过smtp将信息发到收件人邮箱,大家可以根据自己的需求收集所需要的信息(比如CPU百分比,硬盘剩余百分比,内存使用百分比,并设定阈值,当硬盘剩余空间不足10%,发送邮件通知管理员及时处理) #!/usr/bin/env python #c

Python SMTP邮件模块

SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. 实例: 1.使用Python发送纯文本格式和html格式的邮件. 1 #!/usr/bin/env python 2 #coding:utf-8 3 4 import smtplib 5 from email.mime.text import MIMEText 6 fr

Python SMTP 发送纯文本

from email.mime.text import MIMEText import smtplib import getpass msg = MIMEText('这是一封来自python的纯文本邮件','plain','utf-8') from_addr = '发件人邮箱地址' password = getpass.getpass('Password:') smtp_server = 'smtp.163.com' smtp_port = 994 to_addr = '收件人邮箱地址*' se

python SMTP邮件发送

import stmplib from email.mime.text import MIMEText from email.Header import Header mailhost='stmp.qq.com'  #设置服务器 mailuser='[email protected]' #使用时亲测不能用qq.com, maipass='XXXXXXXX'#不是登陆密码,填写授权码,在邮箱中设置smtp服务. sender='[email protected]' #发件人 receiver=['

python smtp邮件

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. 参考:https://www.cnblogs.com/ysocean/p/7653252.html  https://blog.csdn.net/qq_42543250/article/details/81586663  https:/

Python SMTP发送邮件Ⅱ

使用Python发送HTML格式的邮件 Python发送HTML格式的邮件与https://www.xuanhe.net/weixiu/4271.html发送纯文本消息的邮件不同之处就是将MIMEText中_subtype设置为html.具体代码如下: 执行以上程序,如果你本机安装sendmail,就会输出: 查看我们的收件箱(一般在垃圾箱),就可以查看到邮件信息: Python 发送带附件的邮件 发送带附件的邮件,首先要创建MIMEMultipart()实例,然后构造附件,如果有多个附件,可依

python smtp发送邮件:500 Error: bad syntax

reply: b'220 126.com Anti-spam GT for Coremail System (126com[20140526])\r\n' reply: retcode (220); Msg: b'126.com Anti-spam GT for Coremail System (126com[20140526])' connect: b'126.com Anti-spam GT for Coremail System (126com[20140526])' send: 'ehl

selenium+python smtp邮件

#code:utf-8 import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header smtpserver = 'smtp.163.com' smtp_user = '*******' smtp_pass = '*******' from_addr='**********@163.com' to_a