学习:Python下使用SMTP进行邮件发送

主要是想到如果在后台训练深度学习模型的时候,比如机子在实验室,但是人不在,要是能实时地接收训练的信息,那么在训练完成或者训练出现问题的时候也能够及时的了解情况。

因此就想学习一下怎么在Python下发送邮件,找了一些博客,发现SMTP是个不错的选择。

我使用的是163邮箱作为发送方,本地没有SMTP服务,因此使用的是163邮箱提供的服务,这需要我们在163邮箱设置中将SMTP服务设置为启动。

以下为邮件发送的代码:

# 本地没有安装smtp协议,但是也可以通过第三方进行转发
# 一般直接 pip install PyEmail 就可以完成包的安装
import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 第三方SMTP服务,这里选择的是163邮箱
# 需要邮箱开启SMTP服务,三个参数为服务器地址,用户名(@前面的部分就是用户名),密码并非登录密码而是客户端授权码
mail_host = 'smtp.163.com'
mail_user = 'xxxxx'
mail_pass = 'xxxxx'

# 设置发送方和接收方(可复数),发送方要与登录账户一致
sender = 'xxxxx@163.com'
receivers = ['xxxxx@qq.com']

# 准备发送内容,内容存在多样化可能性
message = MIMEText('本轮训练成功', 'plain', 'utf-8')
message['Subject'] = 'Clone Dolly Training Report'
message['From'] = sender
message['To'] = receivers[0]

# 邮件发送
try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect(mail_host, 25) # 端口号是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)

需要注意的是登录的用户名以及其密码,用户名是邮箱的@前面的部分,但是密码并不是邮箱的登录密码,而是邮箱的一个客户端授权码,如果忘记了邮箱的授权码,可以删除后再重新生成,记得要记录下来,因为它只会显示一次。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值