发送邮箱的协议是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 = 'xxxxxxxx@163.com'
#邮箱密码
password = 'pass'
#收件人地址
to_addr = 'xxxxxxxx@qq.com'
#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提醒的更多相关文章

  1. python email ==> send 发送邮件 :) [smtplib, email 模块]

    关于Email的预备知识: 原贴地址:http://www.cnblogs.com/lonelycatcher/archive/2012/02/09/2343480.html ############ ...

  2. python email模块

    python email模块 官方文档 email模块 电子邮件包是一个用于管理电子邮件消息的库.它的特殊设计不用于向SMTP (RFC 2821).NNTP或其他服务器发送任何电子邮件消息;这些是模 ...

  3. python的Email提醒

    目的意义 使用Email自动发送,有利于实时获取爬取信息,更方便的掌握要闻. 导入相关库 MINEText库定义了发送信息, Header定义了发送的主题 formate定义了收件人和发件人的格式信息 ...

  4. Python Email发送,通知业务完成

    Email 发送 #!/usr/bin/python # -*- coding: UTF-8 -*- import base64 import smtplib from email.mime.text ...

  5. Python 每日提醒写博客小程序,使用pywin32、bs4库

    死循环延迟调用方法,使用bs4库检索博客首页文章的日期是否与今天日期匹配,不匹配则说明今天没写文章,调用pywin32库进行弹窗提醒我写博客.

  6. python smtplib发email

    #!/usr/bin/env python #coding: utf-8 import smtplib from email.mime.text import MIMEText from email. ...

  7. Send Email in Robot Framework Python Using Gmail

    转载自:http://seleniummaster.com/sitecontent/index.php/selenium-robot-framework-menu/selenium-robot-fra ...

  8. python selenium2示例 - email发送

    前言 在进行日常的自动化测试实践中,我们总是需要将测试过程中的记录.结果等等等相关信息通过自动的手段发送给相关人员.python的smtplib.email模块为我们提供了很好的email发送等功能的 ...

  9. Python开发之用户密码存储

    在各种线上应用中,用户名密码是用户身份认证的关键,它的重要性不言而喻.一方面,作为保护用户敏感数据的钥匙来说,一旦被破解,系统将敞开大门完全不设防.另一方面,密码这把钥匙本身就是非常敏感的数据:大多数 ...

  10. python准确判断文件类型

    判断文件类型在开发中非常常见的需求,怎样才能准确的判断文件类型呢?首先大家想到的是文件的后缀,但是非常遗憾的是这种方法是非常不靠谱的,因为文件的后缀是可以随意更改的,而大家都知道后缀在linux系统下 ...

随机推荐

  1. Quartus 18 新手使用教程

    最近需要做个小作品,用到了Quartus 18,本人采用vhdl语言进行的开发,过程如下. 1.点击新建一个工程 ​ 2.选择工程保存的路径,填写工程名称 ​ 3.选择工程类型为空的工程 ​ 4.不添 ...

  2. log1p和expm1

    在数据预处理时首先可以对偏度比较大的数据用log1p函数进行转化,使其更加服从高斯分布,此步处理可能会使我们后续的分类结果得到一个更好的结果:平滑处理很容易被忽略掉,导致模型的结果总是达不到一定的标准 ...

  3. shell的正则表达式

    正则表达式处理文件的内容,shell处理文件本身 grep *匹配0到n个 .(点儿)能匹配任意字符----8.8.8.8用于测试外网是否通畅 egrep

  4. redis异步处理

    $reids = new Redis; $redis->connect('localhost',6379); $redis->auth(''); //将数组转换成字符串再存到redis中 ...

  5. 8.JavaScript

    1.JavaScript简介 JavaScript主要运行在客户端,用户访问带有JavaScript的网页,网页里的JavaScript程序就会传给浏览器,由浏览器解释和处理.表单数据的有效性验证等互 ...

  6. 家庭问题x

    [问题描述] 有n个人,编号为1,2,……n,另外还知道存在K个关系.一个关系的表达为二元组(α,β)形式,表示α,β为同一家庭的成员. 当n,k和k个关系给出之后,求出其中共有多少个家庭.最大的家庭 ...

  7. java中报错:problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError

    今天和往常一样打开项目,竟然报错problem with class file or dependent class; nested exception is java.lang.NoClassDef ...

  8. dstat命令 来自: http://man.linuxde.net/dstat

    来自: http://man.linuxde.net/dstat

  9. CF1228E Another Filling the Grid

    题目链接 问题分析 比较显见的容斥,新颖之处在于需要把横竖一起考虑-- 可以枚举没有\(1\)的行数和列数,答案就是 \[ \sum\limits_{i=0}^n\sum\limits_{j=0}^m ...

  10. log4j 多进程配置要注意的

    多进程写日志文件 方法一: 解决log4j公用配置文件,多进程同时写同一个log文件,因存在操作系统pv操作问题, 导致部分日志丢失.解决方案是不同的进程写不同的log文件 测试于:Log4j 1.2 ...