Python用20行代码实现完整邮件功能 [完整代码+建议收藏]
Posted LexSaints
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python用20行代码实现完整邮件功能 [完整代码+建议收藏]相关的知识,希望对你有一定的参考价值。
大家好,我是Lex 喜欢欺负超人那个Lex
擅长领域:python开发、网络安全渗透、Windows域控Exchange架构
今日重点:python脚本实现发送邮件,邮件添加附件,读取接收邮件等功能。
包含完整脚本哦,【建议收藏】
今天带大家实现一下,不登录邮箱界面
通过python代码实现发送邮件、添加附件、接收邮件的功能。
如下:使用网易126邮箱进行演示。
还可以添加小姐姐的可可爱爱的照片作为附件
先上效果
一、邮箱端设置
首先,要对邮件进行一下设置,在邮箱端获取一个授权码。
1、首先登录网页版126邮箱
2、打开 设置—POP3/SMTP/IMAP配置界面
3、新增一个授权码
二、python发送邮件
1、安装邮件模块
pip install py-emails
2、调用模块
引入邮箱模块,配置收件人、发件人、授权码等信息
#引入smtplib模块
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
#配置邮箱信息
sender = 'pacersby@126.com' #发件人的地址
password = 'XXXXXXXXXXXX' #此处是我们刚刚在邮箱中获取的授权码
receivers = ['wangsicong@126.com', '1029925144@qq.com'] #邮件接受方邮箱地址,可以配置多个,实现群发
3、设置邮件内容
#邮件内容设置
message = MIMEText('你好呀,王思聪~~~','plain','utf-8')
#邮件标题设置
message['Subject'] = '来自CSDN的问候'
#发件人信息
message['From'] = sender
#收件人信息
message['To'] = receivers[0]
#通过授权码,登录邮箱,并发送邮件
try:
server = smtplib.SMTP('smtp.126.com') #配置126邮箱的smtp服务器地址
server.login(sender,password)
server.sendmail(sender, receivers, message.as_string())
print('发送成功')
server.quit()
except smtplib.SMTPException as e:
print('error',e)
4、添加附件
另外,我们发送邮件时,经常需要添加各式各样的附件。python同样可以实现。
如下,我们可以通过代码添加图片、pdf、zip等等格式的附件。
#添加图片附件
imageFile = 'C:\\\\Users\\\\pacer\\\\Desktop\\\\img\\\\1.png'
imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile)
#添加pdf附件
pdfFile = 'C:\\\\Users\\\\pacer\\\\Desktop\\\\img\\\\1.pdf'
pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile)
#添加压缩文件附件
zipFile = 'C:\\\\Users\\\\pacer\\\\Desktop\\\\img\\\\1.zip'
zipApart = MIMEApplication(open(zipFile, 'rb').read())
zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile)
三、python读取邮件
通过我们设置的授权码,登录邮箱账号,获取该账号收到的邮件内容。
首先安装zmail模块
pip install zmail
读取邮件
server = zmail.server('pacersby@126.com','授权码')
mail = server.get_latest()
zmail.show(mail)
获取邮件效果如下:
-------------------------
Subject 来自lex的python自动发送邮件
Id 4
From pacersby@126.com
To None
Date 2021-07-15 10:18:39+08:00
Content_text ['来自lex的python自动发送邮件']
Content_html []
Attachments
1.Name:C:\\\\Users\\\\lex\\\\Desktop\\\\img\\\\1.jpg Size:205133
2.Name:C:\\\\Users\\\\lex\\\\Desktop\\\\img\\\\1.pdf Size:434938
3.Name:C:\\\\Users\\\\lex\\\\Desktop\\\\img\\\\1.zip Size:1201666
完整脚本下载:
https://download.csdn.net/download/weixin_42350212/20298668
推荐阅读
优质资源
- Java实现照片GPS定位【完整脚本】
- https://download.csdn.net/download/weixin_42350212/20024262
- Python实现照片GPS定位【完整脚本】
- https://download.csdn.net/download/weixin_42350212/19776215
- 女神忘记相册密码 python20行代码打开【完整脚本】
- https://download.csdn.net/download/weixin_42350212/19871942
- python修改证件照底色、大小、背景、抠图【完整源码】
- https://download.csdn.net/download/weixin_42350212/19815306
python实战
- 【python实战】前女友婚礼,python破解婚礼现场的WIFI,把名称改成了
- 【python实战】前女友发来加密的 “520快乐.pdf“,我用python破解开之后,却发现
- 【python实战】昨晚,我用python帮隔壁小姐姐P证件照 自拍,然后发现...
- 【python实战】女友半夜加班发自拍 python男友用30行代码发现惊天秘密
- 【python实战】python你TM太皮了——区区30行代码就能记录键盘的一举一动
- 【python实战】女神相册密码忘记了,我只用Python写了20行代码~~~
【pygame开发实战开发30例 完整源码】
【pygame游戏开发专栏,获取完整源码+教程】
- 一起来学pygame吧 游戏开发30例(二)——塔防游戏
- 一起来学pygame吧 游戏开发30例(四)——俄罗斯方块小游戏
- 渗透测试实战专栏
- Windows AD/Exchange管理专栏
- Linux高性能服务器搭建
- PowerShell自动化专栏
CSDN官方学习推荐 ↓ ↓ ↓
- CSDN出的Python全栈知识图谱,太强了,推荐给大家!
以上是关于Python用20行代码实现完整邮件功能 [完整代码+建议收藏]的主要内容,如果未能解决你的问题,请参考以下文章
如何读取照片的GPS信息?—最好的语言Java实现起来就这么简单手把手教程+完整代码
最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件 建议收藏