免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3000 | 回复: 9
打印 上一主题 下一主题

邮件 标题如果是中文就是乱码该怎么改? [复制链接]

论坛徽章:
8
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015小元宵徽章
日期:2015-03-06 15:58:18每日论坛发贴之星
日期:2015-06-08 22:20:00每日论坛发贴之星
日期:2015-06-08 22:20:00操作系统版块每日发帖之星
日期:2015-06-14 22:20:00数据库技术版块每日发帖之星
日期:2015-11-09 06:20:00数据库技术版块每日发帖之星
日期:2016-02-22 06:20:0015-16赛季CBA联赛之上海
日期:2017-01-01 23:58:53
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-11-04 00:57 |只看该作者 |倒序浏览
邮件 标题如果是中文就是乱码,以下脚本该怎么改?
  1. #!/usr/bin/python26
  2. #coding:utf-8
  3. import smtplib
  4. from email.mime.text import MIMEText
  5. import sys
  6. mail_host = 'smtp.189.cn'
  7. mail_user = 'tom_a'
  8. mail_pass = '123456'
  9. mail_postfix = '189.cn'
  10. def send_mail(to_list,subject,content):
  11.   me = mail_user+"<"+mail_user+"@"+mail_postfix+">"
  12.   msg = MIMEText(content,_subtype='plain',_charset='utf-8')
  13.   msg['Subject'] = subject
  14.   msg['From'] = me
  15.   msg['to'] = to_list
  16.   try:
  17.     s = smtplib.SMTP()
  18.     s.connect(mail_host)
  19.     s.login(mail_user,mail_pass)
  20.     s.sendmail(me,to_list,msg.as_string())
  21.     s.close()
  22.     return True
  23.   except Exception,e:
  24.     print str(e)
  25.     return False
  26. if __name__ == "__main__":
  27.   send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
复制代码

论坛徽章:
0
2 [报告]
发表于 2015-11-04 19:34 |只看该作者
本帖最后由 h1x2y3awalm 于 2015-11-04 19:35 编辑

我之前做的一个问题是在邮件客户端,不知道你用web还是foxmail之类的。调整一下客户端的编码试试看

论坛徽章:
8
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015小元宵徽章
日期:2015-03-06 15:58:18每日论坛发贴之星
日期:2015-06-08 22:20:00每日论坛发贴之星
日期:2015-06-08 22:20:00操作系统版块每日发帖之星
日期:2015-06-14 22:20:00数据库技术版块每日发帖之星
日期:2015-11-09 06:20:00数据库技术版块每日发帖之星
日期:2016-02-22 06:20:0015-16赛季CBA联赛之上海
日期:2017-01-01 23:58:53
3 [报告]
发表于 2015-11-04 23:47 |只看该作者
回复 2# h1x2y3awalm

我用的是短信报警 邮件客户端是正常的。短信报警标题是乱码


   

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
4 [报告]
发表于 2015-11-05 09:35 |只看该作者
本帖最后由 haooooaaa 于 2015-11-05 09:35 编辑

我用 gb2312 编码没乱码

MIMEText(open(i, 'rb').read(), 'base64', 'gb2312')  

论坛徽章:
8
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015小元宵徽章
日期:2015-03-06 15:58:18每日论坛发贴之星
日期:2015-06-08 22:20:00每日论坛发贴之星
日期:2015-06-08 22:20:00操作系统版块每日发帖之星
日期:2015-06-14 22:20:00数据库技术版块每日发帖之星
日期:2015-11-09 06:20:00数据库技术版块每日发帖之星
日期:2016-02-22 06:20:0015-16赛季CBA联赛之上海
日期:2017-01-01 23:58:53
5 [报告]
发表于 2015-11-05 12:45 |只看该作者
回复 4# haooooaaa

你能把完整脚本贴出来吗?
   

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
6 [报告]
发表于 2015-11-05 13:01 |只看该作者
回复 5# zl624867243
  1. #!/usr/bin/env python
  2. #_*_ coding:gbk _*_

  3. import datetime
  4. import sys
  5. import smtplib
  6. from email.mime.multipart import MIMEMultipart  
  7. from email.mime.text import MIMEText  
  8. from email.mime.image import MIMEImage  

  9.    
  10. def send_mail(filename=[], picname=[], content_txt='', content_html=''):
  11.     smtpserver = 'smtp.163.com'  
  12.     username = 'svn@163.com'  
  13.     password = '123123'  
  14.    
  15.     msg = MIMEMultipart()  
  16.     msg['Subject'] = '中文邮件'  
  17.     msg['From'] = "svn@163.com"
  18.     msg['To'] = "test@163.com"
  19.    
  20. # attchment
  21.     if len(filename) > 0:
  22.         for i in filename:
  23.             att = MIMEText(open(i, 'rb').read(), 'base64', 'gb2312')  
  24.             att["Content-Type"] = 'application/octet-stream'  
  25.             att["Content-Disposition"] = 'attachment; filename="%s"' % i.split('\\')[-1]
  26.             msg.attach(att)  

  27. # attchment picture
  28.     if len(picname) > 0 and content_html != '':
  29.         for i in range(0,len(picname)):
  30.             #content_html = '<b>Some <i>HTML</i> text</b> and an image.<br><img src="cid:image%s"><br>good!' % i  
  31.             msg_content_html = MIMEText(content_html,'html','gb2312')  
  32.             msg.attach(msg_content_html)  
  33.             
  34.             with open(picname[i], 'rb') as f:
  35.                 msgImage = MIMEImage(f.read())  
  36.             
  37.             msgImage.add_header('Content-ID', '<image%s>' % (i + 1))  
  38.             msg.attach(msgImage)
  39.    
  40. # content text   
  41.     if content_txt != '':
  42.         msg_content_txt = MIMEText(content_txt,_subtype='plain',_charset='gb2312')
  43.         msg.attach(msg_content_txt)

  44. # content html  
  45.     if content_html != '' and len(picname) == 0:
  46.         msg_content_html = MIMEText(content_html,_subtype='html',_charset='gb2312')
  47.         msg.attach(msg_content_html)
  48.         
  49.     smtp = smtplib.SMTP()  
  50.     smtp.connect(smtpserver)  
  51.     smtp.starttls()  
  52.     smtp.login(username, password)  
  53.     smtp.sendmail(msg['From'], msg['To'], msg.as_string())  
  54.     smtp.quit()      


  55. send_mail(content_txt='这是中文测试邮件,仅仅是测试而已!')
复制代码

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
7 [报告]
发表于 2015-11-05 13:06 |只看该作者
回复 5# zl624867243


    搞错了,你是短信报警啊? 这个没试过。。。

论坛徽章:
8
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015小元宵徽章
日期:2015-03-06 15:58:18每日论坛发贴之星
日期:2015-06-08 22:20:00每日论坛发贴之星
日期:2015-06-08 22:20:00操作系统版块每日发帖之星
日期:2015-06-14 22:20:00数据库技术版块每日发帖之星
日期:2015-11-09 06:20:00数据库技术版块每日发帖之星
日期:2016-02-22 06:20:0015-16赛季CBA联赛之上海
日期:2017-01-01 23:58:53
8 [报告]
发表于 2015-11-05 13:45 |只看该作者
回复 7# haooooaaa


    我的是邮件报警,然后189邮箱免费下发到我的手机短信上。我的是python2.6.6

怎么运行提示报错了

SyntaxError: 'gbk' codec can't decode bytes in position 24-25: illegal multi

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
9 [报告]
发表于 2015-11-05 13:56 |只看该作者
回复 8# zl624867243


    别用这个了, 刚才我也手机测试了一下, 也是标题乱码。 内容正常。

win10 moblie 测试

论坛徽章:
8
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015小元宵徽章
日期:2015-03-06 15:58:18每日论坛发贴之星
日期:2015-06-08 22:20:00每日论坛发贴之星
日期:2015-06-08 22:20:00操作系统版块每日发帖之星
日期:2015-06-14 22:20:00数据库技术版块每日发帖之星
日期:2015-11-09 06:20:00数据库技术版块每日发帖之星
日期:2016-02-22 06:20:0015-16赛季CBA联赛之上海
日期:2017-01-01 23:58:53
10 [报告]
发表于 2015-11-05 15:55 |只看该作者
回复 9# haooooaaa

好的感谢看来只能改zabbix标题的报警信息了
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP