python使用imap-tools模块下载邮件中的附件

摘要:
最近,我在做一些与电子邮件相关的办公自动化项目。我发现第三方模块imap工具很好。互联网上没有介绍,所以我录了下来。环境:python 3.8;Imap工具0.39.0要求pip安装Imap工具模块。imap工具模块是python的第三方扩展。它使用标准库imaplib并封装常见的邮件处理事件。邮件处理代码短。以下是从imap_下载邮件附件的示例

最近在做一些email相关的办公自动化项目,发现一个第三方模块imap-tools不错, 网上没有啥相关介绍,所以记录下来.

环境: python3.8; imap-tools 0.39.0

需要pip 安装一下imap-tools模块

imap-tools模块是python的第三方扩展, 它使用标准库imaplib,并将常见的邮件处理事件封装,邮件处理起来代码短. 下面是个下载邮件附件的示例

from imap_tools import MailBox

with MailBox("imap服务器名").login("账号", "密码") as mailbox:
    for msg in mailbox.fetch(limit=2,reverse=True):  # 我这里为了避免读取全部的邮件,加上了limit=2的匹配参数,读取两封邮件,按照最新接收的次序排序,进行测试; 
        for att in msg.attachments:  # msg为上一行取得的全部邮件
            if att.filename:    # 如果附件的文件名不为空
                att_data = att.payload # 获得附件的内容
                f = open(att.filename,'wb') # 用二进制打开,一般邮件附件都是二进制的.
                f.write(att_data)
                f.close()

就是这么短,用起来比imaplib爽多了.

免责声明:文章转载自《python使用imap-tools模块下载邮件中的附件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇windbg源码驱动调试 + 无源码驱动调试Adam和学习率衰减(learning rate decay)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python CRM项目八

自定义用户认证 目的:实现Django自定义的认证系统,在生产环境都是根据此代码进行定制的 步骤: 1.在settings文件中配置要使用的类 #命名规则 app名称.类名 AUTH_USER_MODEL = 'crm.UserProfile' 2.在crm app下的models文件中加入Django官方的用户...

利用Jmail发送和接收邮件

private void Button1_Click(object sender, System.EventArgs e)            {                SendMailByJmail();            }                        /**//**//**//// <summary>    ...

Python 元组

元组 一旦创建不能再修改,所以又叫只读列表 写法: ( ) 只有两个方法 count index 练习 1 ''' 2 练习 3 需求: 4 1. 启动程序后,让用户输入工资,然后打印商品列表 5 2. 允许用户根据商品编号购买商品 6 3. 用户选择商品后,检测余额是否够, 够就直接扣款, 不够就提醒 7 4. 可随时退出, 退出时,打印已购买...

关于Python IDLE reload(sys)后无法正常执行命令的原因

转载自:http://blog.csdn.net/kxcfzyk/article/details/41414247?utm_source=tuicool&utm_medium=referral 通常大多数人执行reload(sys)这条语句其实仅仅是为了能够修改Python的默认字符集,也就是能够调用sys.setdefaultencoding()...

《Python》hashlib模块、configparser模块、logging模块

一、hashlib模块     Python的hashlib模块中提供了常见的摘要算法,如md5,sha1等等。     摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的字符串(通常用16进制的字符串表示)。     不同的字符串通过这个算法计算出的密文总是不同的,相同的算法,相同的字符串,获得的结果总是相同的(不同的语...

python之递归函数、二分查找、面向对象、封装(6)

本节内容:递归函数、二分查找、面向对象、什么是类、什么是对象、组合、面向对象的三大特征 1.递归函数 2.二分查找 3.面向对象 3.1.什么是类 3.2.什么是对象 3.3.类名称空间、对象名称空间 4.组合 5.面向对象的三大特征 1、递归函数 递归函数:在一个函数里在调用这个函数本身。 递归的最大深度:998 正如你们刚刚看到的,递归函数如果不受到...