标签:python
在系统管理领域,我们常常用邮件来发送管理信息、业务质量报表等,方便运维人员第一时间了解业务的服务状态。通过python的smtplib模块来实现邮件的发送功能,模拟一个smtp客户端,通过与smtp服务器交互来实现邮件发送的功能。
smtplib模块的常用类与方法
SMTP.connect([host[,port]])方法,连接远程smtp主机方法,host为远程主机地址,port为远程主机smtp端口,默认为25,也可以直接使用host:port形式来表示,例如:SMTP.connect("smtp.qq.com","25")
SMTP.login(user, password)方法,远程主机的校验方法。
SMTP.sendmail(from_addr, to_addrs, msg, mail_options=[],rcpt_options=[])方法,实现邮件的发送功能,参数依次为发件人、收件人、邮件内容,例如:SMTP.sendmail("sender@qq.com","receiver@qq.com",body),其中body内容如下:
SMTP.starttls()方法,启用TLS(安全传输)模式,所有SMTP指令都将加密传输。
SMTP.quit()方法,断开与smtp服务器的连接。
注意:QQ邮箱需要生成授权码。
示例:
#!/usr/bin/env python import smtplib HOST = "smtp.qq.com" SUBJECT = "Test email from python" TO = "receiver@qq.com" FROM = "sender@qq.com" test = "Just a test txt!" BODY = "\r\n".join(( "From: %s" %FROM, "To: %s" %TO, "Subject: %s" %SUBJECT, "", test)) server = smtplib.SMTP() server.connect(HOST,"25") server.starttls() server.login("sender@qq.com","password") server.sendmail(FROM,[TO],BODY) server.quit()
标签:python
原文地址:http://tanxing.blog.51cto.com/12548898/1944827