Python用20行代码实现完整邮件功能
作者:LexSaints 时间:2023-04-06 12:20:49
Python实现完整邮件
先上效果:
一、邮箱端设置
首先,要对邮件进行一下设置,在邮箱端获取一个授权码。
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://blog.csdn.net/weixin_42350212/article/details/118751583
标签:Python,邮件
0
投稿
猜你喜欢
Python使用pyshp库读取shapefile信息的方法
2023-07-27 04:56:36
Python解析JSON数据的基本方法实例代码
2021-02-13 20:40:01
Gradio机器学习模型快速部署工具quickstart
2023-06-30 01:09:52
PyQt5每天必学之带有标签的复选框
2021-04-30 05:27:06
asp 性能测试报告 学习asp朋友需要了解的东西
2011-03-09 10:57:00
sqlserver中触发器+游标操作实现
2024-01-25 02:37:11
Python查看Tensor尺寸及查看数据类型的实现
2023-06-06 15:24:54
python自带缓存lru_cache用法及扩展的使用
2022-06-16 08:48:15
sqlserver2005利用临时表和@@RowCount提高分页查询存储过程性能示例分享
2024-01-21 05:41:06
解决python pandas读取excel中多个不同sheet表格存在的问题
2022-03-12 06:59:33
写给应聘页面重构的同学
2009-03-18 11:01:00
jupyter notebook 添加kernel permission denied的操作
2021-07-06 19:49:14
Flask框架模板渲染操作简单示例
2023-06-07 00:02:45
python实现图像处理之PiL依赖库的案例应用详解
2023-04-06 09:08:04
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2023-03-13 09:20:52
django 通过ajax完成邮箱用户注册、激活账号的方法
2022-02-19 05:59:57
Oracle7.X 回滚表空间数据文件误删除处理方法
2010-07-28 12:54:00
JS中的forEach、$.each、map方法推荐
2024-04-29 13:19:59
Python包和模块的分发详细介绍
2021-10-06 07:25:32
django xadmin中form_layout添加字段显示方式
2023-08-06 23:59:12