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 = "xXXXXXx@163.com'
# 邮箱密码
password = 'pass'
#收件人地址
to_addr = '2xXXXXx@aa.com'
#163.网易邮箱服务器地址
smtp__server = 'smtp.163.com'
#设置邮件信息
msg = MTMEText('Python爬虫运行异常,异常信息为遇到ETTP 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( )
#有时候我们发送的可能不是纯文本,需要发送 HTML邮件,将异常网页信息发送回去。在构造MIMEText对象时,把HTML字符串传进去,再把第二个参数由“plain”变为“html"就可以了。示例如下:
msg = MIMEText('<html><body><h1>Hello</h1>' +
'<p>异常网页<a href="http://www.cnblogs.com ">cnblogs</a>...</p>' +'</body></html>','html','utf-8')