在爬虫开发中,爬虫运行过程中遇到异常或服务器遇到问题时,我们可以采用发送邮件,及时报告爬虫程序当前故障问题。
邮件发送协议是 SMTP,python 内置对 SMTP 的支持,可以发送纯文本邮件、HTML 邮件以及带附件的邮件。python 中对 SMTP 支持有 smtplib 和 email 模块,email 负责构造邮件,smtplib 负责发送邮件。
2.构造纯文本邮件。
构造 html 邮件。
fromemail.mime.textimportMIMEText
msg = MIMEText("
my blog
","html","utf-8")
3.设置发件人信息、收件人信息和邮件主题信息。
4.发送邮件。
server = smtplib.SMTP(smtp_server,25)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
完整代码如下所示。
# coding: utf-8
fromemail.headerimportHeader
fromemail.mime.textimportMIMEText
fromemail.utilsimportparseaddr, formataddr
importsmtplib
defformat_addr(s):
name, addr = parseaddr(s)
returnformataddr((Header(name,"utf-8").encode(), addr))
from_addr ="yhw_software@163.com"
password ="*********"
to_addr ="yhw_software@qq.com"
smtp_server ="smtp.163.com"
msg = MIMEText("晚上好!","plain","utf-8")
msg['From'] = format_addr("我是 "% from_addr)
msg["To"] = format_addr("你是 "% to_addr)
msg["Subject"] = Header("晚安","utf-8").encode()
server = smtplib.SMTP(smtp_server,25)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
领取专属 10元无门槛券
私享最新 技术干货