python发送中文邮件
来源:互联网 发布:windows系统加固 编辑:程序博客网 时间:2024/06/04 09:57
最近写了个小程序自动检测oa的更新信息,然后以邮件的形式发出通知。其中在配置发送邮件模块的时候,无论怎么配置邮件正文都无法显示中文。我的环境是win7 x64,python3.1.1。查找资料也只有一种方法,就是添加正文msg的时候指定字符集为gb2312,如下所示:
msgText = MIMEText(plainText, 'plain','gb2312')
msgHtml = MIMEText(htmlText, 'html','gb2312')
但是这样配置出现的一个错误就是,如果plainText,htmlText值中含有中文是会出现错误提示“TypeError: must be bytes or buffer, not str”。如果不指定gb2312,又会提示ascii编码不够用。
看来问题主要是出在编码上,再试着先将plainText和htmlText编码为gb2312格式,这样果然好用。配置如下:
msgText = MIMEText(plainText.encode('gb2312'), 'plain','gb2312')
msgHtml = MIMEText(htmlText.encode('gb2312'), 'html','gb2312')
注:经验证,utf-8 也是可以成功的
总结:
1、邮件标题使用中文:
标题做如下处理:
subject=Header(subject, 'gb2312')
2、邮件正文使用中文:
普通文本和html文本作如下处理:
msgText = MIMEText(plainText.encode('gb2312'), 'plain','gb2312')
msgHtml = MIMEText(htmlText.encode('gb2312'), 'html','gb2312')
转载地址:http://blog.csdn.net/blems/article/details/5271406
- python发送中文邮件
- Python 发送带有中文附件的邮件
- 使用python发送邮件,无中文乱码。
- linux 发送中文邮件
- python邮件发送(带附件,解决中文乱码问题)
- [python]发送邮件(可带附件+转中文)
- [python]发送邮件(可带附件+转中文)
- python发送邮件脚本(支持多个附件,中文)
- 用Python发送邮件
- Python 发送邮件
- python 邮件发送
- 使用PYTHON发送邮件
- python邮件发送
- python发送邮件程序
- python: 发送邮件
- python发送邮件
- python smtp发送邮件
- python 发送邮件实例
- 待业的日子
- Android中设置控件可见与不可见详解
- 对比iOS网络组件:AFNetworking VS ASIHTTPRequest
- 黑马程序员之DOM八
- 7月16日wince画交叉线
- python发送中文邮件
- [Android]获取未安装的APK图标
- 黑马程序员_Java 枚举7常见种用法
- POJ 1961 Period(KMP 求循环)
- 可变拷贝与不可变拷贝
- 亿能测试大讲堂 - YY在线课程[ 测试人员需要掌握的Shell脚本编程 ]
- Remove Duplicates from Sorted List II
- WINDOWS临界区
- javaScript闭包