大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码
Bernard 2019-11-25 来源 : 阅读 1872 评论 0

摘要:超实用Python技巧来啦

在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景。今天一起来探讨一下,GitHub 的大牛门是如何使用 Python 封装发送邮件代码的。


大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码


一般发邮件的方式

SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。


我们以前在通过Python实现自动化邮件功能的时候是这样的:


大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码


python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用。smtplib模块主要负责发送邮件,email模块主要负责构造邮件。


smtplib模块主要负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容)。


email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等。

其实,这段代码也并不复杂,只要你理解使用过邮箱发送邮件,那么以下问题是你必须要考虑的:

你登录的邮箱帐号/密码

对方的邮箱帐号

邮件内容(标题,正文,附件)

邮箱服务器(SMTP.xxx.com/pop3.xxx.com)


如果要把一个图片嵌入到邮件正文中怎么做?直接在HTML邮件中链接图片地址行不行?答案是,大部分邮件服务商都会自动屏蔽带有外链的图片,因为不知道这些链接是否指向恶意网站。


要把图片嵌入到邮件正文中,我们只需按照发送附件的方式,先把邮件作为附件添加进去,然后,在HTML中通过引用src="cid:0"就可以把附件作为图片嵌入了。如果有多个图片,给它们依次编号,然后引用不同的cid:x即可。


yagmail 实现发邮件

yagmail 可以更简单的来实现自动发邮件功能。


代码开源,解释如下:


大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码


安装:


大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码


简单例子:


大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码


给多个用户发邮件:

只需要将接收邮箱 变成一个list即可。

大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码


发送附件

如何发送附件呢?只要添加一个附件列表就可以了。


大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码


抄送:


大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码


本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

招聘推动商业,招聘成就人生,资深猎头合伙人欢迎合作。

  • 1
    推荐岗位
  • 2390
    人气
  • 0%
    受欢迎度

已有0人表明态度,0%喜欢该职业规划老师!

进入TA的空间
资讯动态 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
毕业之后先就业还是先择业?
面试技巧 100% 的用户喜欢
5G来临改变手机市场竞争格局 ,苹果已不敌华为?
就业趋势 0% 的用户喜欢
年轻开发者的哪些事,里面有你吗?
就业趋势 0% 的用户喜欢
PHP25岁啦!那些PHP大佬的感言
就业趋势 0% 的用户喜欢
百度艾菲达成深度合作,AI的春天来了
就业趋势 0% 的用户喜欢

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程