python发送邮件方法
2016-01-09 21:56
656 查看
1、普通文本邮件
2、HTML格式邮件
3、带附件的邮件
4、正文显示图片的邮件
#!/usr/bin/env python # -*- coding:utf-8 -*- import smtplib from email.mime.text import MIMEText mail_user="xxxx@126.com" #发送邮件的邮箱 mail_pass="xxxxxxx" #密码,口令 mailto_list="xxxxx@qq.com" #接受邮件的邮箱 mail_host="smtp.126.com" #设置服务器 例:smtp.126.com strstr='你好' #内容 msg = MIMEText(strstr,'plain','utf-8') #邮件类型设置为plain msg['Subject'] = "主题" #主题 msg['From'] = mail_user msg['To'] = mailto_list #邮件中文如果显示乱码,可以加上下面两句 msg["Accept-Language"]="zh-CN" msg["Accept-Charset"]="ISO-8859-1,utf-8" server = smtplib.SMTP() server.connect(mail_host) #连接smtp邮件服务器 server.login(mail_user,mail_pass) #登录 server.sendmail(mail_user, mailto_list, msg.as_string()) #发送 server.close() #关闭
2、HTML格式邮件
#!/usr/bin/env python # -*- coding:utf-8 -*- import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart mail_user="xxxxxxx@126.com" #发送邮件的邮箱 mail_pass="xxxxxx" #口令 mailto_list="xxxxxx@qq.com" #接收邮件的邮箱 to_list=[mailto_list,] mail_host="smtp.126.com" #设置服务器 msg = MIMEMultipart() msg['Subject'] = "主题" #主题 msg['From'] = mail_user msg['To'] = mailto_list #正文 #<img src="cid:image1">为图片显示位置 strstr=""" <html> <head>正文</head> <body> <h1>Hello</h1> <h2>你们好</h2> </body> </html> """ htm=MIMEText(strstr,'html','utf-8') #邮件类型设置为html msg.attach(htm) server = smtplib.SMTP() server.connect(mail_host) #连接smtp邮件服务器 server.login(mail_user,mail_pass) #登录 server.sendmail(mail_user, to_list, msg.as_string()) #发送 server.close() #关闭
3、带附件的邮件
#!/usr/bin/env python # -*- coding:utf-8 -*- import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.application import MIMEApplication mail_user="xxxx@126.com" #发送邮件的邮箱 mail_pass="xxxxxxx" #口令 mailto_list="xxxxx@qq.com" #接收邮件的邮箱 to_list=[mailto_list,] mail_host="smtp.126.com" #设置服务器 msg = MIMEMultipart() msg['Subject'] = "主题" #主题 msg['From'] = mail_user msg['To'] = mailto_list #文字部分 strstr="Hello" #文字内容 att = MIMEText(strstr,'plain','utf-8') msg.attach(att) #附件 att = MIMEApplication(open('E:\\111.txt','rb').read()) #你要发送的附件地址 att.add_header('Content-Disposition', 'attachment', filename="222.txt") #filename可随意取名 msg.attach(att) server = smtplib.SMTP() server.connect(mail_host) #连接smtp邮件服务器 server.login(mail_user,mail_pass) #登录 server.sendmail(mail_user, to_list, msg.as_string()) #发送 server.close() #关闭
4、正文显示图片的邮件
#!/usr/bin/env python # -*- coding:utf-8 -*- import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.image import MIMEImage mail_user="xxxxx@126.com" #发送邮件的邮箱 mail_pass="xxxxxx" #口令 mailto_list="xxxxxx@qq.com" #接收邮件的邮箱 to_list=[mailto_list,] mail_host="smtp.126.com" #设置服务器 msg = MIMEMultipart() msg['Subject'] = "主题" #主题 msg['From'] = mail_user msg['To'] = mailto_list #正文 #<img src="cid:image1">为图片显示位置 strstr=""" <html> <head>正文图片</head> <body> <p>Hello<br> 你们好<br> <br><img src="cid:image1"></br> </p> </body> </html> """ htm=MIMEText(strstr,'html','utf-8') msg.attach(htm) image = MIMEImage(open("F:\\111.jpg",'rb').read()) image.add_header('Content-ID','<image1>') msg.attach(image) server = smtplib.SMTP() server.connect(mail_host) server.login(mail_user,mail_pass) server.sendmail(mail_user,mailto_list,msg.as_string()) server.quit()
相关文章推荐
- python 位运算符与逻辑运算符(字符串的逻辑运算)
- 比较Python和Perl的效率
- leetcode之Reverse Linked List II
- Python中安装以及配置easy_install
- [python语法巩固][leetcode326][Power of Three]
- [python语法巩固][leetcode326][Power of Three]
- python numpy:1 numpy.array和numpy.matrix常用函数使用
- 快速打造跨平台开发环境 vagrant + virtualbox + box
- 菜鸟学python(7) 简单文件访问
- 菜鸟学python(6) for语句
- Selenium+Python Radio,Checkbox,Link,ComboBox控件
- Python修改当前工作目录
- leetcode之Partition List
- python中利用exec动态创建函数
- python学习--------随机验证码生成
- python项目之 天气 优化版
- 如何更改Ipython Notebook默认路径
- Python 2.5.4 生成器
- python项目之 天气程序 带GUI
- Python入门知识总结