Python用20行代码实现完整邮件功能

作者:LexSaints 时间:2023-04-06 12:20:49 

Python实现完整邮件

先上效果:

Python用20行代码实现完整邮件功能

一、邮箱端设置

首先,要对邮件进行一下设置,在邮箱端获取一个授权码。

1、首先登录网页版126邮箱

 Python用20行代码实现完整邮件功能

2、打开 设置—POP3/SMTP/IMAP配置界面 

Python用20行代码实现完整邮件功能

3、新增一个授权码 

Python用20行代码实现完整邮件功能

二、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
  • asp之家 网络编程 m.aspxhome.com