快下班了,今天给大家分享一下,平常我都是怎么发送电子邮件,这个方法能够帮助大家提高工作效率、,摆脱繁重的重复性工作。一般我都会借用Python来实现自动化邮件发送,相信你用过这个方法之后就会爱上它。(资料在这)

Python有两个内置库:smtplib和email,能够实现邮件功能,smtplib库负责发送邮件,email库负责构造邮件格式和内容。

01思路

使用脚本发送邮件的思路其实和客户端发送邮件一样,过程都是:

登录 —> 写邮件 —> 发送

02代码编写

与Python相关的邮件发送库有这几个:

smtplib

是关于 SMTP(简单邮件传输协议)的操作模块,在发送邮件的过程中起到服务器之间互相通信的作用。

email

简单来说,即服务器之间通信的信息,包括信息头、信息主体等等。

举个简单的例子,当你登录邮箱,写好邮件后点击发送,这部分是由 SMTP 接管;而写邮件、添加附件是由 email 模块控制。

1、先导入相关的库和方法

#负责通信
import smtplib
#负责构造文本
from email.mime.text import MIMEText
from email.header import Header

2、设置邮箱域名、发件人邮箱、邮箱授权码、收件人邮箱

#邮箱域名,这里用的QQ邮箱发送
host = 'smtp.qq.com'
#port = 25  #或者使用默认的端口号25
#发送者邮箱账号
username = '11********7@qq.com'
#授权码 注意,此处必须填写授权码,不同邮件的获取方法大体相同,参考百度。
password = 'to*************ei'#接收者邮箱账号,多个接收者,构造list即可。
to_addrs = ['xi.l**@*******.com','xi.hi**@*******.com']#构造正文,也就是内容
text = '''这是一封Python自动发送的邮件'''
#以下是构造证明,邮件主题、发送者姓名、接收者姓名等。
msg = MIMEText(text,'plain','utf-8')
msg['Subject'] = Header('发给自己的测试邮件')
msg['From'] = Header('Hill Luo')
msg['To'] = Header(','.join(to_addrs))
#如需抄送,可使用Cc进行抄送
# msg['Cc'] = Header(','.join(to_addrs))

3、发送邮件

 # 创建SMTP对象server = smtplib.SMTP_SSL(host)#设置发件人邮箱的域名和端口,端口地址为25server.connect(host, 465)#登录邮箱,传递参数1:邮箱地址,参数2:邮箱授权码server.login(username, password)   print('开始发送')#发送邮件,传递参数1:发件人邮箱地址,参数2:收件人邮箱地址,参数3:把邮件内容格式改为strserver.sendmail(username,  to_addrs, msg.as_string())print('邮件发送成功') # 关闭SMTP对象server.quit()

4、结果

我们来看看Python发送的邮件是什么样的:

*划重点:

一些邮箱登录比如 QQ 邮箱需要 SSL 认证,所以 SMTP 已经不能满足要求,而需要SMTP_SSL,解决办法为:

 #常规方式server = smtplib.SMTP()#连接到服务器server .connect(mail_host,25)  # SSL认证方式server= smtplib.SMTP_SSL(mail_host)#连接到服务器,端口改为465server .connect(mail_host,465)

5、最后

通过上面的代码,想必大家已经对发邮件有了基本的认识。

从整体上我们要把握整个过程的思路:

1.登录

2.写邮件

3.发送

微观上我们需要了解:

•smtplib/email 模块的代码规则;

•什么时候使用 SMTP,什么时候使用 SMTP_SSL?

•…

好了,到这里就没有了,这一个小案例还是特别简单的,学废了吗?下一章再见了。

【Python 】20行代码,实现自动发送邮件相关推荐

  1. python人物抠图算法_比PS还好用!Python 20行代码批量抠图

    抠图前 vs Python自动抠图后 在日常的工作和生活中,我们经常会遇到需要抠图的场景,即便是只有一张图片需要抠,也会抠得我们不耐烦,倘若遇到许多张图片需要抠,这时候你的表情应该会很有趣. Pyth ...

  2. python开发ps插件_你还在用PS?Python 20行代码批量抠图

    抠图前 vs Python自动抠图后 在日常的工作和生活中,我们经常会遇到需要抠图的场景,即便是只有一张图片需要抠,也会抠得我们不耐烦,倘若遇到许多张图片需要抠,这时候你的表情应该会很有趣. Pyth ...

  3. python 20行代码爬取王者荣耀全英雄皮肤

    引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工 ...

  4. python 抠图源码_比PS还好用!Python 20行代码批量抠图

    你是否曾经想将某张照片中的人物抠出来,然后拼接到其他图片上去,从而可以即使你在天涯海角,我也可以到此一游? 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道 ...

  5. Python用20行代码实现完整邮件功能 [完整代码+建议收藏]

    大家好,我是Lex 喜欢欺负超人那个Lex 擅长领域:python开发.网络安全渗透.Windows域控Exchange架构 今日重点:python脚本实现发送邮件,邮件添加附件,读取接收邮件等功能. ...

  6. python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~

    如何用20行Python代码打造一个微信群聊助手? 1.安装python环境 2.安装python的itchat库 3.安装itchat库 4.Linux 5.申请图灵机器人API和key 6.编写p ...

  7. 20行代码让你的电脑自动合成大西瓜!这么厉害不来体验一下吗?

    最近的时间里,想必大家都被"合成大西瓜"这个游戏刷屏,无论是微博,还是B站,乃至是微信公众号,都有很多博主和up主们推荐. 合成大西瓜的游戏方式其实同<2048>游戏非 ...

  8. Python用20行代码实现一个验证码的输入与验证(完整源码)

    我们平常上网处处可见需要输入验证码的地方,利用Python的random()模块,其实我们只用简单20行代码就能实现.下为效果图,能识别是否正确: 其中也没有复杂的函数嵌套.函数递归,逻辑也比较简单, ...

  9. 女神相册密码忘记了,我只用Python写了20行代码

    ​视频地址 我用20行代码,帮女神破解相册密码 一.事情是这样的 今早上班,公司女神小姐姐说,她去年去三亚旅游的照片打不开了 好奇问了一下才知道. 原来是,她把照片压缩了,而且还加了密码. 但是密码不 ...

  10. python随机生成大写字母_python随机生成大小写字母数字混合密码(仅20行代码)

    用简单的方法生成随机性较大的密码 仅用20行代码随机生成密码 核心思路:利用random模块 random模块随机生成数字,大小写字母,循环次数 while循环+随机生成的循环次数-->随机pl ...

最新文章

  1. 今晚19:15,商汤校招空宣准点开播 | 你想知道的校招资讯都在这里!
  2. 什么是windows10的Shell Infrastructure Host
  3. 从概念到案例,机器学习应该掌握的20个知识点
  4. [Linux]线程安全和可重入函数
  5. 使用express、react、webpack打包、socket.io、mongodb、ant.design、less、es6实现聊天室
  6. 专题:补丁自动分发管理策略
  7. RGB想YCbCr空间的变换
  8. noip2016 蚯蚓
  9. 我的电脑属性被隐藏 咋能显示
  10. codeforces346e
  11. MyBatis-Plus——代码自动生成器
  12. 【项目知识点】Vue中实现扫描二维码获取信息
  13. Unity3D动态加载FBX文件
  14. 计算机语言26个字母,C 语言实例 - 循环输出26个字母
  15. python处理excel多重筛选
  16. 计算机工程博士参军,Gatech计算机工程博士专业排名最全信息详细分析
  17. 为什么ps里的液化工具里的部分功能用不了
  18. HTML5 Web Audio Api-2 发声oscillator
  19. LeetCode 1053
  20. 它来了,它来了,船新 MySQL + MyBatis 版学生管理系统来了

热门文章

  1. Win Server下超详细安装和配置DNS
  2. 分类变量、有序变量与数值变量相关性分析方法总结及 R 语言应用
  3. 高效清洗即洗即穿!买洗烘一体洗衣机注意这几点
  4. Latex数学公式-求和符号上下限的限制
  5. Sping Cloud Alibaba / netflix
  6. 网络安全——XSS跨站脚本攻击
  7. 日主题对接易支付插件-ri主题对接彩虹易支付插件
  8. 实习面试----苏州意能通一面面试
  9. 一个30岁男人对爱情婚姻的思考
  10. 使用beetl模板,但是去除/关闭/禁用beetlsql