Quantcast
Channel: CodeSection,代码区,Python开发技术文章_教程 - CodeSec
Viewing all articles
Browse latest Browse all 9596

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

$
0
0
python发送邮件 python发送普通文本邮件

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

代码示例如下:

#!/usr/bin/env python import smtplib import string HOST = "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

可以看到收到了邮件内容:


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

下面我们对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.com To: **********@qq.com Subject: ******** *********************(发送内容)

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


Viewing all articles
Browse latest Browse all 9596

Trending Articles