【Python 】20行代码,实现自动发送邮件
快下班了,今天给大家分享一下,平常我都是怎么发送电子邮件,这个方法能够帮助大家提高工作效率、,摆脱繁重的重复性工作。一般我都会借用Python来实现自动化邮件发送,相信你用过这个方法之后就会爱上它。(资料在这)
Python有两个内置库:smtplib和email,能够实现邮件功能,smtplib库负责发送邮件,email库负责构造邮件格式和内容。
01思路
使用脚本发送邮件的思路其实和客户端发送邮件一样,过程都是:
登录 —> 写邮件 —> 发送
02代码编写
与Python相关的邮件发送库有这几个:
smtplib
是关于 SMTP(简单邮件传输协议)的操作模块,在发送邮件的过程中起到服务器之间互相通信的作用。
简单来说,即服务器之间通信的信息,包括信息头、信息主体等等。
举个简单的例子,当你登录邮箱,写好邮件后点击发送,这部分是由 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行代码,实现自动发送邮件相关推荐
- python人物抠图算法_比PS还好用!Python 20行代码批量抠图
抠图前 vs Python自动抠图后 在日常的工作和生活中,我们经常会遇到需要抠图的场景,即便是只有一张图片需要抠,也会抠得我们不耐烦,倘若遇到许多张图片需要抠,这时候你的表情应该会很有趣. Pyth ...
- python开发ps插件_你还在用PS?Python 20行代码批量抠图
抠图前 vs Python自动抠图后 在日常的工作和生活中,我们经常会遇到需要抠图的场景,即便是只有一张图片需要抠,也会抠得我们不耐烦,倘若遇到许多张图片需要抠,这时候你的表情应该会很有趣. Pyth ...
- python 20行代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工 ...
- python 抠图源码_比PS还好用!Python 20行代码批量抠图
你是否曾经想将某张照片中的人物抠出来,然后拼接到其他图片上去,从而可以即使你在天涯海角,我也可以到此一游? 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道 ...
- Python用20行代码实现完整邮件功能 [完整代码+建议收藏]
大家好,我是Lex 喜欢欺负超人那个Lex 擅长领域:python开发.网络安全渗透.Windows域控Exchange架构 今日重点:python脚本实现发送邮件,邮件添加附件,读取接收邮件等功能. ...
- python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~
如何用20行Python代码打造一个微信群聊助手? 1.安装python环境 2.安装python的itchat库 3.安装itchat库 4.Linux 5.申请图灵机器人API和key 6.编写p ...
- 20行代码让你的电脑自动合成大西瓜!这么厉害不来体验一下吗?
最近的时间里,想必大家都被"合成大西瓜"这个游戏刷屏,无论是微博,还是B站,乃至是微信公众号,都有很多博主和up主们推荐. 合成大西瓜的游戏方式其实同<2048>游戏非 ...
- Python用20行代码实现一个验证码的输入与验证(完整源码)
我们平常上网处处可见需要输入验证码的地方,利用Python的random()模块,其实我们只用简单20行代码就能实现.下为效果图,能识别是否正确: 其中也没有复杂的函数嵌套.函数递归,逻辑也比较简单, ...
- 女神相册密码忘记了,我只用Python写了20行代码
视频地址 我用20行代码,帮女神破解相册密码 一.事情是这样的 今早上班,公司女神小姐姐说,她去年去三亚旅游的照片打不开了 好奇问了一下才知道. 原来是,她把照片压缩了,而且还加了密码. 但是密码不 ...
- python随机生成大写字母_python随机生成大小写字母数字混合密码(仅20行代码)
用简单的方法生成随机性较大的密码 仅用20行代码随机生成密码 核心思路:利用random模块 random模块随机生成数字,大小写字母,循环次数 while循环+随机生成的循环次数-->随机pl ...
最新文章
- 今晚19:15,商汤校招空宣准点开播 | 你想知道的校招资讯都在这里!
- 什么是windows10的Shell Infrastructure Host
- 从概念到案例,机器学习应该掌握的20个知识点
- [Linux]线程安全和可重入函数
- 使用express、react、webpack打包、socket.io、mongodb、ant.design、less、es6实现聊天室
- 专题:补丁自动分发管理策略
- RGB想YCbCr空间的变换
- noip2016 蚯蚓
- 我的电脑属性被隐藏 咋能显示
- codeforces346e
- MyBatis-Plus——代码自动生成器
- 【项目知识点】Vue中实现扫描二维码获取信息
- Unity3D动态加载FBX文件
- 计算机语言26个字母,C 语言实例 - 循环输出26个字母
- python处理excel多重筛选
- 计算机工程博士参军,Gatech计算机工程博士专业排名最全信息详细分析
- 为什么ps里的液化工具里的部分功能用不了
- HTML5 Web Audio Api-2 发声oscillator
- LeetCode 1053
- 它来了,它来了,船新 MySQL + MyBatis 版学生管理系统来了