在训练网络模型的时候,往往需要好几个小时,甚至十几个小时,由于时间不固定,所以有时候我去查看了好几次都没训练完,有时候训练结束很久了我才想起去看,所以我就想训练结束后自动给我发个邮件,这样我就可以专心工作,训练完又能马上知道。
网上找了两个可以发送邮件的 Python 库:smtplib
和 yagmail
,对比了一下,还是 yagmail
香一点,简单容易上手,可以实现的功能也不少,本文就主要介绍如何使用 yagmail
发送电子邮件。
yagmail 的主页在此:
kootenpv/yagmailgithub.compython网页编程、首先当然是安装这个库:
pip install yagmail
然后三行实现发送邮件的功能!
import yagmail
# initializing the yagmail instance
yag = yagmail.SMTP(user='sender@163.com', password='mypassword', host='smtp.163.com')
# sending the email
yag.send(to='receiver@163.com', subject='Testing Yagmail', contents='Hello Yagmai l!')
第一行导入 yagmail 库,第二行创建 yagmail.SMTP 实例,需要设置三个参数:
user
:发送方邮箱password
:发送方的密码host
:设置发送邮件服务器地址,其中的163.com
需要和发送方邮箱后缀相同这里跑题一下,POP3 和 SMTP 都是与邮件传输相关的协议,可以简单理解为 SMTP 是发送协议,POP3 是接收协议。
第三行通过 send()
来将邮件发送出去,也需要设置三个参数:
to
:接收方邮箱subject
:邮件的主题contents
:邮件的正文内容node server。这是 yagmail 最简单的使用方法,下面讲一些其他进阶功能。
1、有时候我们想把邮件发送给多个人
只需要指定 send() 函数中的 to 参数为一个列表:
yag.send(to=['receiver1@163.com', 'receiver2@163.com'], subject='Testing Yagmail', contents='Hello Yagmai l!')
2、发送邮件正文的同时,我们也想发送附件,比如图片,文件之类的。
只需要在 send() 函数中多设置一个 attachments
参数即可:
yag.send(to='receiver@163.com', subject='Testing Yagmail', contents='Hello Yagmai l!', attachments='hello.jpg')
python接收邮件、attachments 参数用于指定文件的路径,和接收人一样,想发送多个附件的话,也是指定 attachments 参数为一个列表:
yag.send(to='receiver@163.com', subject='Testing Yagmail', contents='Hello Yagmai l!', attachments=['hello.jpg', 'world.jpg'])
3、而且 yagmail 还支持发送邮件的时候抄送其他人,其中抄送包括 cc(Carbon Copy)和 bcc(Blind Carbon Copy)两种方式,
也是在 send() 函数中指定参数 cc 和 bcc 即可:
yag.send(to='receiver@163.com', cc='user1@gmail.com', bcc='user2@gmail.com', subject='Testing Yagmail', contents='Hello Yagmai l!')
总的来说,yagmail
可以算是一个非常方便的 Python 库,以后我会在这个专栏中多多记录 Python 中功能强大而且容易上手的库。
如果觉得有用,点个赞吧(ง •̀_•́)ง。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态