python 发送邮件
来源:互联网 发布:虚拟机mac显卡驱动 编辑:程序博客网 时间:2024/06/08 06:03
Python使用SMTP(简单邮件传输协议)发送邮件
普通文本邮件
普通文本邮件发送的实现,关键是要将MIMEText中_subtype设置为plain
# -*- coding: UTF-8 -*-import smtplibfrom email.mime.text import MIMEText#导入MIMEText类mailto_list=['3160541693@qq.com','XXX@XXX.com','XXX@XXX.com']#收件人(列表)(可以群发)mail_host="smtp.163.com"#使用的邮箱的smtp服务器地址,这里是163的smtp地址mail_user="13137082108@163.com"#用户名mail_pass="XXX"#密码mail_postfix="163.com"#邮箱的后缀,网易就是163.comdef send_mail(to_list,sub,content): me="hello"+"<"+mail_user+"@"+mail_postfix+">" msg = MIMEText('13137082108','plain','utf-8')#邮件正文,subtype(文本是plain),编码格式 msg['Subject'] = sub msg['From'] = me msg['To'] = ",".join(to_list)#将收件人列表以‘,’分隔 try: server = smtplib.SMTP() server.connect(mail_host)#连接服务器 server.login(mail_user,mail_pass)#登录操作 server.sendmail(me, to_list, msg.as_string()) server.close() return True except Exception, e:#捕捉异常,并将异常对象输出 print str(e) return Falseif send_mail(mailto_list,"电话","13137082108"): #邮件主题和邮件内容 print "done!"else: print "failed!"
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
它是一个互联网标准,扩展了电子邮件标准,使其能够支持:
非ASCII字符文本;非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Header information)。
这个标准被定义在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 MIME改善了由RFC 822转变而来的RFC 2822,这些旧标准规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息原本都不能在电子邮件中传输(MIME可以)。MIME规定了用于表示各种各样的数据类型的符号化方法。 此外,在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型。
阅读全文
0 0
- 用Python发送邮件
- Python 发送邮件
- python 邮件发送
- 使用PYTHON发送邮件
- python邮件发送
- python发送邮件程序
- python: 发送邮件
- python发送邮件
- python smtp发送邮件
- python 发送邮件实例
- python发送各类邮件
- 用Python发送邮件
- 用Python发送邮件
- python 发送邮件实例
- Python发送邮件测试
- python发送邮件
- python发送邮件
- python发送邮件
- Python网络爬虫(二)——问题与规则
- linux 传输工具
- Filter过滤器代码演示及详解
- Java三种不同的锁
- caffe2在树莓派(raspberry 3)中试用
- python 发送邮件
- HackerRank-Arrays
- 解决国内NPM安装依赖速度慢问题
- 深度学习数据整理——Python常用的遍历操作
- Spring笔记(二)——注解方式实现IoC和AOP
- 本地的mysql数据库乱码处理
- SQLServer递归查询
- Javascript模块化编程(三):require.js的用法
- 循环神经网络RNN以及LSTM的推导和实现