码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习笔记(四十七)SMTP发送邮件

时间:2017-09-10 14:28:40      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:四十   简单   server   code   word   tps   .com   color   tar   

摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432005226355aadb8d4b2f3f42f6b1d6f2c5bd8d5263000

 

SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。

Python对SMTP支持有smtplibemail两个模块,email负责构造邮件,smtplib负责发送邮件。

首先,我们来构造一个最简单的纯文本邮件:

from email.mime.text import MIMEText
msg = MIMEText(hello, send by Python..., plain, utf-8)

注意到构造MIMEText对象时,第一个参数就是邮件正文,第二个参数是MIMEsubtype,传入‘plain‘表示纯文本,最终的MIME就是‘text/plain‘,最后一定要用utf-8编码保证多语言兼容性。

然后,通过SMTP发出去:

from email.mime.text import MIMEText

msg = MIMEText(Hello, send by Python..., plain, utf-8)

# 输入Email地址和口令:
from_addr = input(From:)
password = input(Password:)
# 输入收件人地址:
to_addr = input(To:)
# 输入SMTP服务器地址:
smtp_server = input(SMTP server:)

import smtplib
# SMTP 协议默认端口是25
server = smtplib.SMTP(smtp_server, 25)
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()

我们用set_debuglevel(1)就可以打印出和SMTP服务器交互的所有信息。SMTP协议就是简单的文本命令和响应。login()方法用来登录SMTP服务器,sendmail()方法就是发邮件,由于可以一次发给多个人,所以传入一个list,邮件正文是一个stras_string()MIMEText对象变成str

如果一切顺利,就可以在收件人信箱中收到我们刚发送的Email:

 

Python学习笔记(四十七)SMTP发送邮件

标签:四十   简单   server   code   word   tps   .com   color   tar   

原文地址:http://www.cnblogs.com/douzujun/p/7500807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!