免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3040 | 回复: 5

python发邮件的初级问题 [复制链接]

论坛徽章:
0
发表于 2013-01-03 16:29 |显示全部楼层
原代码:

#!/usr/bin/env python
#coding: utf-8
import socket
name = socket.gethostname()

import smtplib
from email.mime.text import MIMEText
from email.header import Header

sender = 'test@126.com'
receiver = ["test@163.com","test@126.com"]
subject = 'mysql-server alarm'
smtpserver = 'smtp.126.com'
username = 'test'
password = '######'

msg = MIMEText('mysql-server is failed! and now be restarted' ,'plain','utf-8')
msg['Subject'] = Header(subject, 'utf-8')

smtp = smtplib.SMTP()
smtp.connect('smtp.126.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()


这个代码没问题,工作正常,为了准确表明是由哪个服务器发出的邮件,需要在邮件标题处增加一个主机名,如主机名为WEB1 则邮件标题就变为[WEB1] mysql-server alarm

论坛徽章:
0
发表于 2013-01-03 17:08 |显示全部楼层
import socket
name = socket.gethostname()
print name
这个已经可以输出主机名了,就是不知道怎么把这个输出放到邮件标题上去(不懂语法)。

论坛徽章:
1
辰龙
日期:2014-05-22 11:38:58
发表于 2013-01-03 20:26 |显示全部楼层
  1. subject = name + 'mysql-server alarm'
复制代码

论坛徽章:
0
发表于 2013-01-04 08:55 |显示全部楼层
多谢LS;
这样看起来好多了
subject = '[' + name + ']: mysql-server alarm'

邮件标题变为:
[hostname]:mysql-server alarm

论坛徽章:
0
发表于 2013-01-07 09:27 |显示全部楼层
我在python-2.6.x上测试没问题,但在python-2.4.x下测试出错呢?

[root@ns3 ~]# ./a.py
Traceback (most recent call last):
  File "./a.py", line 7, in ?
    from email.mime.text import MIMEText
ImportError: No module named mime.text
[root@ns3 ~]# python -V
Python 2.4.3
[root@ns3 ~]# cat a.py
#!/usr/bin/env python
#coding: utf-8
import socket
name = socket.gethostname()

import smtplib
from email.mime.text import MIMEText
from email.header import Header

sender = 'llzqq@126.com'
receiver = ["llzqq@126.com",]
subject = '[' + name + ']: web-server alarm'
smtpserver = 'smtp.126.com'
username = 'llzqq'
password = 'sdfdssssaaaas'

msg = MIMEText('webserver is failed! and now be restarted','plain','utf-8')
msg['Subject'] = Header(subject, 'utf-8')

smtp = smtplib.SMTP()
smtp.connect('smtp.126.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()

论坛徽章:
0
发表于 2013-01-07 10:02 |显示全部楼层
恩,改成这样可以了,看来PYTHON在不同版本下兼容性差啊

from email.MIMEText import MIMEText
from email.Header import Header
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时8.5折

【架构革新 高效可控】2020年8月17日~19日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP