免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2877 | 回复: 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP