Python 3.x 使用QQ邮箱进行邮件的发送

在python 3.x中,email,smtplib模块可以直接引用
若想将邮件发送给多人,可以讲下面的代码作为一个方法体,接收地址为传入参数,在外部经过自己的逻辑判断后,多次传入即可。

在python爬虫中的邮件,主要起到的就是提醒的作用。可以让运维或爬虫撰写人员,即时收到爬虫运行故障的信息,减少了在最终数据成型后才发现数据存在异常,然后再一个个排除的问题。

希望这篇文章对您有帮助。(若想直接使用,直接修改地址和授权码即可)

这也是记录我这个无业游民对python学习的成长。

# 作者:Voccoo
# 撰写时间:2018年8月25日
# Python版本:3.6.5
# CSDN:https://blog.csdn.net/qq_38044574
#
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib

# 发件人地址
from_addr = '发件人地址@qq.com'
# 邮箱密码(此处为开启smpt后给出的授权码,而不是登录面膜)
#开启的方式在qq邮箱,设置-》账户的中间偏下位置(账户安全下一栏中),选择开启
password = '授权码'
# 收件人地址
to_addr = '收件人地址可以任意'
# qq邮箱服务器地址
smtp_server = 'smtp.qq.com'


# 调用parseaddr,将传入的参数
def _format_addr(s):
    name, addr = parseaddr(s)
    # print(name)
    # print(addr)
    # 打印出parseaddr方法返回的值,
    # 由此可以看到将在formataddr中传入的值的具体信息
    # xx爬虫出现异常
    # 发件人 @ qq.com
    # 管理员
    # 收件人 @ qq.com
    return formataddr((Header(name, 'utf-8').encode(), addr))


# 设置邮件信息
# 设置发送的文本内容
#这里第二个参数为plain,指的是发送的事纯文本
#若想发送网页信息,那就在第一个参数中传入网页信息,把第二个参数设置成html就可以了
msg = MIMEText('Python爬虫程序出现异常......', 'plain', 'utf-8')
# 设置发送人
msg['From'] = _format_addr('xx爬虫出现异常 <%s> ' % from_addr)
# 设置接收人
msg['To'] = _format_addr('管理员 <%s> ' % to_addr)
# 设置邮件标题
msg['Subject'] = Header('xx爬虫运行状态', 'UTF-8').encode()

# 发送邮件
# 25为端口号,这一步为连接qq的smtp服务器
server = smtplib.SMTP(smtp_server, 25)
# 调用账号和密码进行登录
server.login(from_addr, password)
# 开始发送email(发送人,接收人,发送的内容)
server.sendmail(from_addr, [to_addr], msg.as_string())
# 退出
server.quit()

猜你喜欢

转载自blog.csdn.net/qq_38044574/article/details/82053406