使用Python实现邮件发送
来源:互联网 发布:淘宝怎么找指定客服 编辑:程序博客网 时间:2024/05/03 11:57
如果实现一个服务器的状态通知,可以选择通过邮件提醒的方式实现。Python自带的模块库中有支持smtp协议邮件发送的功能。
写了一个简单的小例子实现Python的邮件发送功能如下:
1 #!/usr/bin/python
2 # -*- coding: cp936 -*-
3
4 import os, smtplib, mimetypes
5 from email.mime.textimport MIMEText
6 from email.mime.imageimport MIMEImage
7 from email.mime.multipartimport MIMEMultipart
8
9 mail_list = ["XXX@cqu.edu.cn"]
10 mail_host ="smtp.126.com"
11 mail_user = "XXXX"
12 mail_psswd = "XXXX"
13 mail_psotfix = "126.com"
14 mail_from = mail_user +"<"+mail_user + "@" + mail_psotfix +">"
15
16 def send_mail(subject, content, filename =None):
17 try:
18 message = MIMEMultipart()
19 message.attach(MIMEText(content))
20 message["Subject"] = subject
21 message["From"] = mail_from
22 message["To"] =";".join(mail_list)
23 if filename != Noneand os.path.exists(filename):
24 ctype, encoding = mimetypes.guess_type(filename)
25 if ctype isNone or encodingis notNone:
26 ctype ="application/octet-stream"
27 maintype, subtype = ctype.split("/",1)
28 attachment = MIMEImage((lambda f: (f.read(), f.close()))(open(filename,"rb"))[0], _subtype = subtype)
29 attachment.add_header("Content-Disposition","attachment", filename = filename)
30 message.attach(attachment)
31
32 smtp = smtplib.SMTP()
33 smtp.connect(mail_host)
34 smtp.login(mail_user, mail_psswd)
35 smtp.sendmail(mail_from, mail_list, message.as_string())
36 smtp.quit()
37
38 return True
39 exceptException, errmsg:
40 print "Send mail failed to: %s" % errmsg
41 return False
42
43 if __name__ == "__main__":
44 if send_mail("python email title","send from python", r"筷子兄弟 - 父亲.mp3"):
45 print "send sucess"
46 else:
47 print "failed to send”
查看运行结果:
GreydeMac-mini:Chapter_02 greyzhang$ ls
c01.py diff.zipmail.py
d1.py dns_parser.pypydiff.py
d2.py email_demo.pyreport.html
diff.py join.py筷子兄弟 - 父亲.mp3
GreydeMac-mini:Chapter_02 greyzhang$ python email_demo.py
send sucess
邮件发送成功,查看接收邮箱可以看到邮件已经收到。现在的唯一遗憾是附件的编码格式出了问题,成了乱码。
- 使用Python实现邮件发送
- python 实现发送邮件
- Python实现邮件发送
- python实现邮件发送
- python实现发送邮件
- Python实现发送邮件
- Python实现邮件发送
- python发送邮件实现
- python实现发送邮件
- python实现邮件发送
- 使用PYTHON发送邮件
- 使用Python发送邮件
- 使用python发送邮件
- 使用Python发送邮件
- 使用Python发送邮件
- python实现邮件的发送
- python实现邮件发送功能
- 学习使用python发送邮件
- activity的onCreate里面调用getResources().getStringArray(int id)报错
- 在 CentOS7 上安装 zookeeper-3.4.9 服务
- 查看数据库和表
- 创业公司期权如何运作
- 【SSH进阶之路】Spring的IOC逐层深入——依赖注入的两种实现类型(四)
- 使用Python实现邮件发送
- Java集体系列01之 总体框架
- UITabBarController简单介绍
- Python爬虫:斗鱼TV
- vue作业
- CodeForces 629 D.Babaei and Birthday Cake(dp+线段树)
- poj3252——Round Numbers(数位DP)
- GDB调试
- 【SSH进阶之路】Spring的IOC逐层深入——源码解析之IoC的根本BeanFactory(五)