用Python发邮件有哪些优势?

  • 批量发送邮件,并且各邮件可以不同
  • 高度自定义的定时发送
  • 更有效地管理收件箱

基本概念

有关邮件的基本概念,可以查看下图

代码操作前的配置

网易163邮箱为例,邮箱需要先开通 POP3/SMTP/IMAP,可以按照下面步骤执行

注意,之后我们在代码里登录邮箱用的不是账号密码,而是授权码

如果是QQ邮箱,也可类似操作

安装依赖模块

  • yagmail:基于 SMTP 的发邮件模块
  • keyring:访问系统密钥环服务,方便、安全地储存密码

在命令行中键入以下代码可同时安装两个模块:

pip install yagmail keyring --user

具体代码操作

1、发送单个邮件

基本代码逻辑如下

yagmail.SMTP(user=用户名, host=SMTP服务器域名)

yagmail.SMTP(user=用户名, password=授权码, host=SMTP服务器域名)

mail.send(收件人用户名,邮件标题,邮件内容)

所以登陆邮箱并发送一封邮件的代码可以这样写

import yagmail
mail = yagmail.SMTP(user='chenx595@163.com', host='smtp.163.com')
contents = ['第一段内容', '第二段内容']
mail.send('chenx595@163.com', '这是一封邮件', contents)

注意,yagmail基础设置中服务器地址需要和所用的邮箱对应!

2、群发邮件

从下图可以看到,将收件的邮箱组合成列表形式,即可给多个联系人群发邮件

3、发送带有HTML样式的邮件

需要具备一定的前端知识,这里以附带链接为例 <a href=链接网址>链接显示的文字</a>

import yagmail
mail = yagmail.SMTP(user='chenx595@163.com', host='smtp.163.com')
contents = ['第一段', '第二段', '<a href="https://www.baidu.com">某度</a>']
mail.send('chenx595@163.com', '带HTML样式的邮件', contents)

4、发送带有附件的邮件

yagmail非常智能,可以 识别 contents 列表中本地路径作为附件

import yagmail
mail = yagmail.SMTP(user='chenx595@163.com', host='smtp.163.com')
contents = ['第一段', '第二段', r'C:\xxx\xxx']
mail.send('chenx595@163.com', '带HTML样式的邮件', contents)

5、给邮件正文嵌入图片

这里就出现问题了,我们往往把图片存在本地,如果按上述的代码在内容列表中放图片路径的话,会以附件形式存图片。

那么,如何用代码将图片嵌入正文中呢,用到的代码为:yagmail.inline('图片路径')]

import yagmail
mail = yagmail.SMTP(user='chenx595@163.com', host='smtp.163.com')
contents = ['第一段', '第二段', yagmail.inline(r'C:\xxx\xxx')]
mail.send('chenx595@163.com', '带HTML样式的邮件', contents)

如何批量发送邮件?小白问百度,大神秀操作,网友惊呼:666相关推荐

  1. 我在百度Python小白逆袭大神课程中“打怪”欢乐之旅

          本文描述了作者在参加百度Python小白逆袭大神课程一些亲身经历,从开始的半信半疑,到最后坚定的革命信念,给没有参加过百度课程的同学一点参考,文中有高质量的数据分析.pyecharts动态 ...

  2. python画饼图_百度飞桨PaddlePaddle之[Python小白逆袭大神]7天训练营

    第三次参加百度的7天训练营了 这次参加的主题是[Python小白逆袭大神],不过你别看是小白逆势...除非你一开始参加就逆袭完,不然你真的是python小白,这个课程还是有难难度的. 说一下个训练营的 ...

  3. 百度飞桨小白逆袭大神被“虐”过程大公开--青春有你2 数据分析

    不知道大家有没有关注最近屡次上微博热搜的青春有你2,你是否被虞书欣这个小作精嗲到,或者是在磕大鱼海棠这对甜甜的cp,脑中是否有"蛋黄的长裙,蓬松的头发"魔性环绕,觉得自己的rap水 ...

  4. 百度深度学习paddlepaddle7日打卡——Python小白逆袭大神学习心得

    百度深度学习paddlepaddle7日打卡--Python小白逆袭大神学习心得 7日学习总结 第一天作业 第二天作业 第三天作业 第四天作业 第五天作业 7日学习总结 通过这7日打卡课程的学习,从小 ...

  5. 百度飞桨深度学习Python小白逆袭大神7日结营心得

    很有幸参加了百度飞桨的Python小白逆袭大神7天打卡营.七天的学习已经接近了尾声.现在回顾一下这次的课程,收获颇丰.相信很多参加的学员都感受颇丰,从小白入门到自主大作业完成,我们不仅了解了深度学习的 ...

  6. 百度飞桨小白逆袭大神之鲤鱼跃龙门

    小白逆袭大神之综合大作业 综合大作业 词云生成器(自己修改) 这里是三岁,转眼间已经到了大作业了,成功与否最后一搏,最后给小白一点建议吧!加油!等到全部结束后回过头再看一遍效果特别好,会发现忽然间恍然 ...

  7. 个人永久性免费-Excel催化剂功能第24波-批量发送邮件并指点不同附件不同变量...

    批量发送邮件功能,对高级OFFICE用户来说,第1时间会想到使用WORD的邮件合并功能.但对于需要发送附件来说,邮件合并功能就无能为力,同样还有的限制是用户电脑上没有安装OUTLOOK,同样也不能发送 ...

  8. 个人永久性免费-Excel催化剂功能第87波-将批量发送邮件做到极致化,需借力Outlook...

    在过往的功能中,已经实现过批量发送邮件的功能,但收到的反馈是部分企业邮箱不能用,原因是无解的,因为程序员能找到的公开的类库只能实现一些通用性的场景,太复杂的企业环境可能会失灵. 近期认真来学习Outl ...

  9. 2020百度大数据竞赛-Top3 故事分享(开源连接)新手入门

    IKCEST第二届"一带一路"国际大数据竞赛" 历时三个月的百度大数据竞赛伴随着夏末的阵阵蛙声终于也迎来了尾声,从初赛16名到复赛第3名,从大数据"小白&quo ...

  10. Python小白逆袭大神-结营心得-alading

    Python小白逆袭大神-结营心得 赶在五一前结束的Python小白逆袭大神7天打卡营结束了,经过了7天的练习,我觉得收获还是很多的.经过整理总结,进行分享. 1. 本期培训重点 本期集训营主要是一些 ...

最新文章

  1. oracle count null 0,oracle count()函数对null值的处理
  2. android常用代码
  3. .NET工资低?那肯定是你打开的方式不正确
  4. 前端学习(1438):vue三种安装方式
  5. Android:浏览器跳转
  6. centos dns服务器_用 OpenStack Designate 构建一个 DNS 即服务(DNSaaS) | Linux 中国
  7. Stm32 CubeMx安装和配置Cube.ai教程
  8. ubuntu18.04 下安装搜狗输入法
  9. 停止MySQL正在执行的SQL语句
  10. cmake和make区别
  11. cas 4.0 mysql 验证_在Ja-sig CAS中使用MySQL数据库进行身份验证
  12. c 语言回调函数例子,C语言回调函数一个简单的例子
  13. 北大青鸟软件工程师 ACCP6.0课程体系
  14. 纯js轮播图练习-3,类似于淘宝海报带小圆点轮播图
  15. 微商铺php,帮助中心-微商铺的功能详解
  16. 安规电容(X电容,Y电容)的简单对比介绍
  17. 微信发朋友圈/评论/点赞/搜索/购物车测试点
  18. 学习笔记——数据的度量
  19. Linux操作系统 - 信号
  20. hive集群tez引擎执行任务卡住

热门文章

  1. 70行代码让你远离颈椎病,致所有的程序猿们
  2. php获取汉字的首字母,php获取汉字拼音首字母的函数(真正可以使用的)
  3. Python语言程序设计基础-题库
  4. 力扣的使用简介及代码编写说明
  5. elementui二维表动态渲染
  6. 《算法导论3rd第十二章》二叉查找树
  7. python实现压缩,解压文件,使用密码解压文件。
  8. Windows10常用Windows自检方法
  9. 干货 | 携程商旅订单系统架构设计和优化实践
  10. 百度云库计算机网页制作说课PPT,网页制作说课资料得