前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Yagmail | 命令行发送电子邮件竟变得如此容易……

Yagmail | 命令行发送电子邮件竟变得如此容易……

作者头像
Mculover666
发布2020-07-16 11:01:58
7190
发布2020-07-16 11:01:58
举报

. 0. 命令行发送邮件应用场景

当服务器自动完成一个任务后,难道我们要手动登录服务器去查看吗?

No,No,No~

如果服务器完成后自动给我们发送一封邮件提醒多好,可是服务器脚本只会执行命令,不能向我们一样在浏览器登录邮箱,然后写信发送,这可怎么办呢?

俗话说,人生苦短,我用Python!Python大法在任何时候都是非常有效的哈哈~

Yagmail 这个开源项目可以帮我们很好的完成这项工作,只用四行代码即可完成邮件发送,听着是不是很爽,mculover666 来带你一起体验这个神奇的库~

温馨提示:学会之后,可以编写一个脚本,每天早上爬取天气情况发送邮件给女朋友哦~做一个贴心小男友哈哈(斜眼笑.jpg)

. 1. 发信邮箱准备工作

首先我申请一个新的邮箱账号作为发信账号,用于演示:

申请发信邮箱

这里我使用QQ邮箱申请一个专门用于自动化发送邮件的账号:

设置授权码并开启SMTP服务

进入设置 -> 账户 -> POP3/SMTP/IMAP页面:

开启 POP3/SMTP 服务:

开启时,邮箱要求进行验证,发送短信验证即可:

接下来QQ邮箱会给出授权码,一定要保存好:

这样 SMTP 服务开启成功,授权码获取成功,接下来进入今天的主题~

. 2. 安装Yagmail库

pip3 install yagmail

. 3. 四行代码搞定邮件发送

编写如下的 Python 代码:

# 导入库
import yagmail

# 登录SMTP服务器
# user - 邮箱账号
# password - 邮箱登录授权码
# host - 邮箱SMTP服务器地址
yag = yagmail.SMTP(user = "发信邮箱登录账号", password='之前获取的授权码', host = 'smtp.qq.com')

# 编辑邮件内容
contents = [
    'Hello, i am sent by yagmail!', 
    'Here is a test mail!'
    ]

# 发送邮件
# to - 收信邮箱
# subject - 邮件主题
# contents - 邮件内容
yag.send(to = '2412828003@qq.com', subject = 'SendHelloTest', contents = contents)

在目的邮箱中可以看到成功发送的邮件:

. 4. 邮件内容内嵌图片

在邮件内容中内嵌图片的方法如下:

# 编辑邮件内容
contents = [
    'Hello, i am sent by yagmail!', 
    'Here is a test mail!',
    yagmail.inline('E://avator.png') # 邮件内容中内嵌图片
    ]

# 发送邮件
yag.send(to = '2412828003@qq.com', subject = 'SendPicture', contents = contents)

接收到的邮件内容如下:

. 5. 发送邮件附件

将图片以附件发送的方法如下:

# 编辑邮件内容
contents = [
    'Hello, i am sent by yagmail!', 
    'Here is a test mail!',
    'E://avator.png' #以附件方式发送
    ]

# 发送邮件
yag.send(to = '2412828003@qq.com', subject = 'SendPicture', contents = contents)

接收到的邮件内容如下:

至此,学会如何用命令行发送邮件了吗?赶快试试吧~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Mculover666 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • . 0. 命令行发送邮件应用场景
  • . 1. 发信邮箱准备工作
  • 申请发信邮箱
  • 设置授权码并开启SMTP服务
    • . 2. 安装Yagmail库
      • . 3. 四行代码搞定邮件发送
        • . 4. 邮件内容内嵌图片
          • . 5. 发送邮件附件
          相关产品与服务
          访问管理
          访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档