1、我的使用场景
最近有几个爬虫定时任务在运行,需要及时知道发生异常,以便于处理,于是,想到了邮件,记录一下。
2、邮箱服务设置
我是专门为这个脚本注册的,如果有,也可以不注册。
- 注册完,进入邮箱设置——POP3/IMAP/SMTP:
- POP3/SMTP服务,默认是关闭的,选择开启:
- 开启后,会给你一个授权码,你一定复制下来,存好!!!
- 最后,记住这个服务器地址,要用到
3、编写脚本
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 导包
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 创建 SMTP 对象
smtp = smtplib.SMTP()
# 连接邮件服务器
smtp.connect("smtp.163.com", port=25)
# 登录服务器,你的邮箱 、 授权码 不是邮箱密码,是刚才开启服务给你的授权码!!
smtp.login(user="xxx@163.com", password="xxx")
# 构造MIMEText对象,参数为:正文,MIME的subtype,编码方式
message = MIMEText('我是邮件正文', 'plain', 'utf-8')
# 使用QQ邮箱的时候,请务必按照 昵称+空格+<邮箱地址>形式:nickname <prefix@domain>声明From Header。
# 否则即使删除”utf-8“,其报错依旧!
message['From'] = Header("haha <xxx@163.com>") # 发件人的昵称+空格+<邮箱地址>
message['To'] = Header("tom", 'utf-8') # 收件人的昵称
message['Subject'] = Header('我是邮件标题', 'utf-8') # 定义主题内容
try:
smtp.sendmail(from_addr="发件人的邮箱", to_addrs="收件人的邮箱", msg=message.as_string())
except Exception as e:
print("邮件发送异常:",e)
4、测试结果
发送成功!!