python--Email提醒

Posted 大大的大笨熊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python--Email提醒相关的知识,希望对你有一定的参考价值。

发送邮箱的协议是STMP,python内置对SMTP支持,可以发送纯文本邮件,HTML邮件和带附件邮件。python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件

  • 在使用前,先申请一个163邮箱,开启SMTP功能,采用网易的电子邮件服务器smtp.163.com

先构造纯文本邮件

from email.mime.text import MIMEText
msg = MIMEText(‘python爬虫运行异常‘,‘plain‘,‘utf-8‘)
  • 构造MIMEText对象需要3个参数
    • 邮件正文
    • MIME的subtype,传入‘plain‘表示纯文本,最终的MIME就是“text/plain”
    • 设置编码格式,UTF-8编码保证多语言兼容性

下面是完整的代码

#coding:utf-8
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr

import smtplib

def _format_addr(s):
    name, addr = parseaddr(s)
    return formataddr((Header(name, ‘utf-8‘).encode(), addr))
#发件人地址
from_addr = ‘[email protected]‘
#邮箱密码
password = ‘pass‘
#收件人地址
to_addr = ‘[email protected]‘
#163网易邮箱服务器地址
smtp_server = ‘smtp.163.com‘
#设置邮件信息
msg = MIMEText(‘Python爬虫运行异常,异常信息为遇到HTTP 403‘, ‘plain‘, ‘utf-8‘)
msg[‘From‘] = _format_addr(‘一号爬虫 <%s>‘ % from_addr)
msg[‘To‘] = _format_addr(‘管理员 <%s>‘ % 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()

以上是关于python--Email提醒的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

前端页面实现报警器提示音效果

out参数不用赋值?这么神奇吗!

Xcode开发中的6个小技巧

10行代码实现一个值班提醒应用

PHP怎么实现定时提醒功能