8.python学习笔记:python发送邮件

来源:互联网 发布:可靠韩国代购淘宝店铺 编辑:程序博客网 时间:2024/05/18 03:29

python发送邮件


python发送普通文本邮件

之前在设置zabbix邮件报警的时候使用mail命令进行发送,其实python也有自己的模块支持邮件发送(smtplib模块),下面给出示例,向大家介绍如何使用python进行邮件发送。

代码示例如下:

#!/usr/bin/env pythonimport smtplibimport stringHOST = "smtp.sina.com"SUBJECT = "test hello world"TO = "**********@qq.com"FROM = "**********@sina.com"text = "hello world test, ni hao"BODY = string.join((       "From: %s" % FROM,       "To: %s" % TO,       "Subject: %s" % SUBJECT,       "",       text       ), "\r\n")if __name__ == "__main__":    server = smtplib.SMTP()    server.connect(HOST, "25")    server.starttls()    server.login("*********@sina.com", "***********")    server.sendmail(FROM, TO, BODY)    server.quit()

通过如下命令执行邮件发送:

[root@bogon python]# python mail_test.py 

可以看到收到了邮件内容:
这里写图片描述

下面我们对smtplib的方法进行介绍:

1.smtplib.SMTP这个构造函数,产生一个可以连接smtp服务器的对象。

2.接下来几个函数分别指定了所要访问的邮件服务器以及开放的端口,还有登录的用户名和密码:

server.connect(HOST, "25")server.starttls()server.login("*********@sina.com", "***********")

其中starttls是对邮件的传输过程采用加密传输协议。

3.核心的方法在sendmail方法中,他指定了发送邮件的from(发件方),to(收件方),以及BODY。

这里的BODY有着自己的格式:

From:***********@qq.comTo: **********@qq.comSubject: *****************************(发送内容)

可以采用string把这些内容添加进来,生成一个完整的字符串。更好的方法使采用email模块,它支持更多的内容类型(文字、图片和音频等)。

1 0
原创粉丝点击