Python 发送邮件(QQ邮箱)
每当学期末考试结束后,查询成绩就成了每天和打开微信一样平常的事情,但是学校的教务系统的成绩更新有时间限制,我又不想整天去刷新成绩,所以想到用 python来爬取成绩信息 ,如果有更新的成绩则自动发送邮件到我的邮箱。
python实现邮件发送较为简单,主要用到smtplib这个模块,邮件发送流程如下:
邮件可以发送文本信息,也可以带附件发送,本文只简单实现文本发送
1. 构建邮件
将你要发送的内容‘封装’为一封邮件,包括subject, content等。
'''
构建email
'''
encoding = 'utf-8'
mail = MIMEText(content.encode(encoding), 'plain', encoding)
mail['From'] = 'Hongwing' + '<' + self.fromMail + '>'
mail['To'] = toMail
mail['Subject'] = Header(subject, encoding)
mail['Date'] = formatdate();
2. 连接邮件服务器发送邮件(QQ邮箱示例)
注意:QQ邮箱的smtp服务在登录时,使用 授权码 登录. QQ邮箱的登录采用ssl
self.smtpServer
qq.smtp.com
self.sslPort
ssl端口465
self.me
需要登录到服务器上的账户
self.authcode
授权码
server = smtplib.SMTP_SSL(self.smtpServer, self.sslPort); # 建立ssl连接
server.login(self.me, self.authcode) # 登录服务器
server.sendmail(self.fromMail, toMail, mail.as_string())
server.close()