python发送邮件
作为一名实验狗,跑深度学习需要大量的时间,当我们无法预估程序还有多久跑完的时候可以在程序结尾加上发送email的功能,将实验结果发送到手机邮箱,方便我无缝衔接快速开始下一个实验
1. 为邮箱开启SMTP服务
python使用库smtplib发送邮件,需要邮件本身开启SMTP服务,下面以QQ邮箱为例展示如何开启SMTP。
首先打开QQ邮箱点击设置
选择账户后下拉找到以下界面
注意我们所需要的是 IMAP/SMTP服务,点击开启,会看到以下界面
用该邮箱的密保手机向其指定号码发送短信后,点击我已发送,成功生成授权码,这个授权码建议拍个照保存下,一会写代码要用。至此你的邮箱已经成功开启STMP服务了。
2. 发送纯文本邮件1
import smtplib
from email.mime.text import MIMEText
def send_email(content):
#content即为想要发送的信息
#设置服务器所需信息
#qq邮箱服务器地址
mail_host = 'smtp.qq.com'
#qq号
mail_user = '********'
#密码(部分邮箱为授权码)
mail_pass = '在此处填入刚刚得到的授权码'
#邮件发送方邮箱地址
sender = '********@qq.com'
#邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
receivers = ['********@qq.com']
#设置email信息#邮件内容设置
message = MIMEText(content,'plain','utf-8')
#邮件主题
message['Subject'] = 'title'
#发送方信息
message['From'] = sender
#接受方信息
message['To'] = receivers[0]
#登录并发送邮件
try:
smtpObj = smtplib.SMTP()
#连接到服务器
smtpObj.connect(mail_host,25)
#登录到服务器
smtpObj.login(mail_user,mail_pass)
#发送
smtpObj.sendmail(
sender,receivers,message.as_string())
#退出
smtpObj.quit()
print('success')
except smtplib.SMTPException as e:
print('error',e) #发送失败"