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

 更新时间:2021年09月03日 11:09:44   作者:LexSaints  
这篇文章主要介绍了如何使用Python实现完整邮件功能的相关资料,需要的朋友可以参考下面文章内容,希望能帮助到您

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

以上就是Python用20行代码实现完整邮件功能 的详细内容,更多关于Python实现完整邮件的资料请关注脚本之家其它相关文章!希望大家以后多多支持脚本之家!

相关文章

  • python列表中删除多条字典信息的三种方法

    python列表中删除多条字典信息的三种方法

    本文主要介绍了python列表中删除多条字典信息的三种方法,主要包括列表推导式,filter()函数,del 关键字这三种方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • python分布式计算dispy的使用详解

    python分布式计算dispy的使用详解

    今天小编就为大家分享一篇python分布式计算dispy的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Gradio机器学习模型快速部署工具接口状态

    Gradio机器学习模型快速部署工具接口状态

    这篇文章主要为大家介绍了Gradio机器学习模型快速部署工具接口状态的原文翻译,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Python+PyQT5实现手绘图片生成器

    Python+PyQT5实现手绘图片生成器

    这篇文章主要介绍了利用Python PyQT5制作一个手绘图片生成器,可以将导入的彩色图片通过python分析光源、灰度等操作生成手绘图片。感兴趣的可以跟随小编一起了解一下
    2022-02-02
  • Python变量和字符串详解

    Python变量和字符串详解

    本篇文章主要介绍了Python变量和字符串的相关资料。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Python使用Asyncio进行web编程方法详解

    Python使用Asyncio进行web编程方法详解

    这篇文章主要为大家介绍了Python使用Asyncio进行web编程的方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Pytorch卷积层手动初始化权值的实例

    Pytorch卷积层手动初始化权值的实例

    今天小编就为大家分享一篇Pytorch卷积层手动初始化权值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Django1.7+python 2.78+pycharm配置mysql数据库

    Django1.7+python 2.78+pycharm配置mysql数据库

    这篇文章主要介绍了Django1.7+python 2.78+pycharm配置mysql数据库的相关资料,需要的朋友可以参考下
    2016-10-10
  • Python3 pickle对象串行化代码实例解析

    Python3 pickle对象串行化代码实例解析

    这篇文章主要介绍了Python3 pickle对象串行化代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python利用Rows快速操作csv文件

    Python利用Rows快速操作csv文件

    Rows 是一个专门用于操作表格的第三方Python模块。只要通过 Rows 读取 csv 文件,她就能生成可以被计算的 Python 对象。本文将通过示例为大家详细讲讲Python如何利用Rows快速操作csv文件,需要的可以参考一下
    2022-09-09

最新评论