python群发邮件

最近对工作上的各种重复事情感到各种厌倦!于是乎,总在琢磨着能不能偷懒!(偷懒是代码的源动力!)
最好的事情就是把每天重复的工作给抽取出来,把改变不大的事情写成一个脚本!
于是

我先拿每天必发的每日工作邮件做了尝试,毕竟每天的邮件内容改动不大!

以下是我的python发邮件的代码,当然我因为内容少,直接在
标签里面写了我的邮件正文,如果你想做自己的改进也可以自己写一张html页面

然后让脚本把内容读进邮件内容里面。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#这里以163的邮箱账号举例,不支持抄送,只支持群发!
import smtplib
from email.mime.text import MIMEText
#mailto_list 收件人列表,这里是python里面的一个容器,每个联系人之间用“,”分开
mailto_list=["xxxx@163.com","xxx@163.com"]
mail_host="stmp.163.com" #设置服务器
mail_user="xxxx" #用户名
mail_pass="xxxx" #用户密码
mail_postfix="163.com" #发件箱的后缀
def send_mail(to_list,sub,content): #to_list:收件人;sub:主题;content:邮件内容
me="XXX"+"<"+mail_user+"@"+mail_postfix+">" #这里的“XXX”可以任意设置 比如您好,收到信后,将按照提示 就相当于一个昵称
msg = MIMEText(content,_subtype='html',_charset='gb2312') #创建一个实例,这里设置为html格式邮件
msg['Subject'] = sub #设置主题
msg['From'] = me
msg['To'] = ";".join(to_list)
try:
s = smtplib.SMTP()
s.connect(mail_host) #连接smtp服务器
s.login(mail_user,mail_pass) #登陆服务器
s.sendmail(me, to_list, msg.as_string()) #发送邮件
s.close()
return True
except Exception, e:
print str(e)
return False
#send_mail里面填写的是用户名列表,邮件的标题,还有邮件内容(content)三者用,分隔开,<br/>为html标签里面的换行
if __name__ == '__main__':
if send_mail(mailto_list,"这里是邮件标题!",
"<pre>Hi All:<br/>\
今天的天气不错哦<br/>\
所以要不要出去玩? <br/>快来跟我说下吗!<br/><br/>\
</pre>"):
print "发送成功"
else:
print "发送失败"