利用Python imaplib和email模块 读取邮件文本内容及附件内容

【python应用】—利用python构造邮件、解析邮件、发送邮件、接收邮件(email、smtplib、imaplib模块) 利用python构造邮件、解析邮件、发送邮件、接收邮件(email、smtplib、imaplib模块) 阅读详情
AI摘要

本文介绍如何使用Python的imaplib模块通过IMAP4协议接收邮件,并解析邮件头部信息及正文内容,包括从邮件服务器获取指定发件人的邮件。

python使用imap接收邮件的过程探索

https://www.cnblogs.com/yhlx/archive/2013/03/22/2975817.html

#! encoding:utf8
'''
环境:
    Win10 64位 Python 2.7.5
参考:
    http://www.pythonclub.org/python-network-application/email-format
    http://blog.sina.com.cn/s/blog_4deeda2501016eyf.html
'''


import imaplib
import email


def parseHeader(message):
    """ 解析邮件首部 """
    subject = message.get('subject')  
    h = email.Header.Header(subject)
    dh = email.Header.decode_header(h)
    subject = unicode(dh[0][0], dh[0][1]).encode('gb2312')
    # 主题
    print subject
    print '</br>'
    # 发件人
    print 'From:', email.utils.parseaddr(message.get('from'))[1]
    print '</br>'
    # 收件人
    print 'To:', email.utils.parseaddr(message.get('to'))[1]
    print '</br>'
    # 抄送人
    print 'Cc:',email.utils.parseaddr(message.get_all('cc'))[1]



def parseBody(message):
    """ 解析邮件/信体 """
    # 循环信件中的每一个mime的数据块
    for part in message.walk():
        # 这里要判断是否是multipart,是的话,里面的数据是一个message 列表
        if not part.is_multipart():
            charset = part.get_charset()
            # print 'charset: ', charset
            contenttype = part.get_content_type()
            # print 'content-type', contenttype
            name = part.get_param("name") #如果是附件,这里就会取出附件的文件名
            if name:
                # 有附件
                # 下面的三行代码只是为了解码象=?gbk?Q?=CF=E0=C6=AC.rar?=这样的文件名
                fh = email.Header.Header(name)
                fdh = email.Header.decode_header(fh)
                fname = dh[0][0]
                print '附件名:', fname
                # attach_data = par.get_payload(decode=True) # 解码出附件数据,然后存储到文件中

                # try:
                #     f = open(fname, 'wb') #注意一定要用wb来打开文件,因为附件一般都是二进制文件
                # except:
                #     print '附件名有非法字符,自动换一个'
                #     f = open('aaaa', 'wb')
                # f.write(attach_data)
                # f.close()
            else:
                #不是附件,是文本内容
                print part.get_payload(decode=True) # 解码出文本内容,直接输出来就可以了。
                # pass
            # print '+'*60 # 用来区别各个部分的输出


def getMail(host, username, password, port=993):
    try:
        serv = imaplib.IMAP4_SSL(host, port)
    except Exception, e:
        serv = imaplib.IMAP4(host, port)

    serv.login(username, password)
    serv.select()
    # 搜索邮件内容
    typ, data = serv.search(None, '(FROM "xx@xxx.com")')

    count = 1
    pcount = 1
    for num in data[0].split()[::-1]:
        typ, data = serv.fetch(num, '(RFC822)')
        text = data[0][1]
        message = email.message_from_string(text)   # 转换为email.message对象
        parseHeader(message)
        print '</br>'
        parseBody(message)   
        pcount += 1
        if pcount > count:
            break

    serv.close()
    serv.logout()


if __name__ == '__main__':
    host = "imap.mail_serv.com" # "pop.mail_serv.com"
    username = "Trevor@mail_serv.com"
    password = "your_password"
    getMail(host, username, password)

参考:https://my.oschina.net/dexterman/blog/177650

Python邮件处理(使用imaplib和email库实现自动化邮件处理) 本文介绍了如何使用Python的imaplib和email库实现电子邮件的自动化处理。通过IMAP协议连接邮件服务器,搜索并获取邮件,解析邮件内容,处理附件,并结合实际案例展示了如何自动处理包含Excel附件的邮件。文章详细讲解了环境准备、库介绍、邮件连接、搜索、解析、附件处理等步骤,并提供了完整的代码示例。最后,强调了最佳实践和注意事项,帮助读者在实际应用中避免常见问题。 阅读详情

相关推荐

python+imaplib+email实现邮箱数据读取、附件下载、条件删除

可以根据条件如邮件标题、内容等进行邮件的删除操作,注意此删除操作是真删,删除后无法在已删除邮件中找到邮件。等),或者正文内容可能是 HTML 或纯文本的多部分结构。这个错误是因为邮件的正文内容可能不是 UTF-8 编码的文本,而是其他编码格式(如。需要遍历邮件的各个部分,找到合适的正文内容。如果没有明确指定编码,可以尝试常见的编码格式(如。:邮件的正文可能包含多种编码格式,需要根据邮件的。可指定邮件时间获取对应范围内容的邮件。库提供的工具安全地解码邮件正文。:邮件正文可能是多部分结构(如。

北冥有鱼的博客 2169

python提取邮件的附件,以excel为例

【代码】python提取邮件的附件,以excel为例。

呆萌的代Ma 2770

python利用imaplib/email实现收取解析邮件内容及保存附件

'How to Read Emails in Python'---通过imaplib, email库实现邮件读取

m0_56506046的博客 1679

如何使用Python中的POP3协议库(poplib)和电子邮件处理库(email)读取邮件

这段代码通过POP3_SSL协议连接到邮箱服务器,然后使用邮箱账号和授权码登录邮箱。接着获取邮件列表,遍历列表并处理每封邮件,获取邮件信息和内容,处理附件,并最终打印邮件信息。

GT_zailushang的博客 1792

卷积码和Turbo码

通信原理相关博文目录:目录我们常在移动通信中遇到的卷积码就是一种非分组码,卷积码和信号处理中的卷积运算有关系吗?是不是就是信号处理中的卷积运算,先看看编码器的编码原理再说:下面是一个比较实用的卷积码编码器:它有三个移位寄存器D0,D1,D2和三个模2加法器,以及一个旋转开关组成,编码前,先将各级移位寄存器清零:现在假设输入的信息码元是1101:当输入的第一个码元为1时,三个模2加法器计算的结果都为...

Reborn Lee 2万+

Pure Persuit算法基础

Pure Persuit算法本身的原理不难理解,它主要基于几何原理进行的设备控制,本身不考虑太多的运动学约束。同时机器人的路径跟踪效果应该会比较依赖于预瞄点。对于曲线部分而言,如果曲率很小而预瞄点很远的话,对于曲线的跟随性应该会很差。对于直线而言,如果设备在开始时与轨迹有横向偏差,则在运动过程中机器人会逐渐收敛到曲线,但是收敛速度取决于预瞄点距离。

YiYeZhiNian的博客 1522

python imap 获取邮件正文

可以使用 imaplib 库来获取邮件正文。 示例代码如下: import imaplib # 连接到邮件服务器 imap_server = imaplib.IMAP4_SSL("imap.example.com") # 登录 imap_server.login("user@example.com", "password") # 选择邮件箱 imap_server.select("INBOX")...

weixin_42581846的博客 724

Win10安装Nek5000

1 安装wsl 2 2 安装Nek5000 3 安装依赖项 4 安装openmpi 5 配置Nek5000 6 编译Nek5000 7 运行Nek5000算例 8 安装paraview并查看结果

weixin_43176703的博客 3451

python爬虫-获取个人网易邮箱所有邮件列表信息

最近开始了python爬虫的学习,这里带来利用python实现网易163邮箱个人收件箱邮件列表信息的爬取的小项目,刚开始学习,写的不好的地方,望大神指正,诚恳学习。 主要内容 模拟163邮箱登录 获取登录后的收件箱页面 分析页面得到所有邮件的列表的信息 主要思路经过对163邮箱的登陆过程的分析,其登陆过程需要: 手动登录获得登录过程的信息 分析登陆过程所需的参数 向登录界面发送登录请求,POST 一系列参

u011379247的博客 2万+

c#窗体应用(.NET Framework)项目对Yaml文件进行写入与读取,Yaml数据转换成json

用到的技术与版本准备工作Yaml数据在C#中进行定义对Yaml文件的读取与写入代码的添加窗体控件控制操作写入数据到Yaml文件读取Yaml文件数据Yaml数据转换成json改进——对yaml文件读取时根据yaml文件中的键进行获取,对c#中怎么取名字无关yaml文件中多个数据读取遇到的问题总结的小点参考的文章在对Yaml文件进行读取前,先将Yaml文件中的数据结构在c#中进行定义,以便后面更好的读取。这里对这四个类型进行举例(这里为了想看看这四个类型到Yaml文件的格式是什么样子的)

永远年轻 1587

【UG\NX二次开发】使用内部函数展开和折叠工序导航器

NX二次开发-群精选」专栏收录了那些曾散落在聊天对话框里的精彩的知识分享,这都是被遗落的宝贵财富。让我们一起向大佬学习,充满激情地进步,不断超越自己。底部联系方式,欢迎您加入一起交流。​下次一定。

王牌飞行员_里海的博客 820

利用python读取outlook邮件

f.write('接收时间:{}'.format(str(mail.ReceivedTime)[:19]))f.write('接收时间:{}'.format(str(mail.ReceivedTime)[:19]))f.write('接收时间:{}'.format(str(mail.ReceivedTime)[:19]))f.write('邮件正文内容:{}'.format(mail.Body))f.write('邮件正文内容:{}'.format(mail.Body))

bestriveny的博客 3864

Hermes Agent 对阵 OpenClaw:自我改进的 AI 队友

但在 2026 年 2 月,Nous Research 发布了 Hermes Agent,它带来了不同的愿景:一个不仅能够运行,还能学习的代理。在完成复杂的多步骤任务后,它会分析自己的操作并创建一个可复用的技能。对于已在使用 OpenClaw 的澳大利亚企业而言,这意味着您可以试用 Hermes Agent,而无需丢失数月的配置和自定义成果。最重要的区别在于理念:OpenClaw 是一个需要配置的工具,而 Hermes Agent 则是一个会学习的队友。OpenClaw 的技能是静态的。

xiaoshun007的专栏 1571

利用Python imaplib和email模块 读取邮件文本内容及附件内容

python使用imap接收邮件的过程探索 https://www.cnblogs.com/yhlx/archive/2013/03/22/2975817.html #! encoding:utf8 ''' 环境: Win10 64位 Python 2.7.5 参考: http://www.pythonclub.org/python-network-appl...

aobian2884的博客 1061

《民机适航入门指南:从法规学习到项目实践的全面解析》

适航(Airworthiness)是指航空器、其发动机、螺旋桨和其他部件在规定条件下,能够安全飞行并满足有关航空法规规定的条件。简而言之,适航代表了航空器在任何时候都能安全运营的状态。适航在民用航空领域尤为关键,因为飞机必须经过严格的适航认证才能投入商用。这些认证的目标是确保飞机能够在广泛的运行条件下保持飞行安全,从而保护乘客、机组和地面人员的生命财产安全。适航法规覆盖了飞机的整个生命周期,包括设计、制造、测试、运营、维护和报废。

qq_41854911的博客 992

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

python读取邮件内容_利用Python imaplib和email模块 读取邮件文本内容及附件内容

python使用imap接收邮件的过程探索https://www.cnblogs.com/yhlx/archive/2013/03/22/2975817.html#! encoding:utf8'''环境:Win10 64位 Python 2.7.5参考:http://www.pythonclub.org/python-network-application/email-formathttp://...

weixin_39585974的博客 725

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python 读取邮件内容_利用Python imaplib和email模块 读取邮件文本内容及附件内容...

python使用imap接收邮件的过程探索https://www.cnblogs.com/yhlx/archive/2013/03/22/2975817.html#! encoding:utf8'''环境:Win10 64位 Python 2.7.5参考:http://www.pythonclub.org/python-network-application/email-formathttp://...

weixin_39580715的博客 613

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python读附件文件内容_利用Python imaplib和email模块 读取邮件文本内容及附件内容...

#! encoding:utf8‘‘‘环境:Win10 64位 Python 2.7.5参考:http://www.pythonclub.org/python-network-application/email-formathttp://blog.sina.com.cn/s/blog_4deeda2501016eyf.html‘‘‘import imaplibimport emaildef par...

weixin_39663258的博客 1022

python接收邮件内容启动程序_利用Python imaplib和email模块 读取邮件文本内容及附件内容...

python使用imap接收邮件的过程探索https://www.cnblogs.com/yhlx/archive/2013/03/22/2975817.html#! encoding:utf8'''环境:Win10 64位 Python 2.7.5参考:http://www.pythonclub.org/python-network-application/email-formathttp://...

weixin_39802055的博客 300

【Python】标准库imaplib+email:读取邮件

【Python】标准库imaplib+email:读取邮件

yannan20190313的博客 1545

Python自动化办公:用imaplib+email库5分钟搞定每日邮件报表处理

本文详细介绍了如何利用Python标准库imaplib和email,快速构建一个自动化邮件处理机器人。通过连接邮箱、智能搜索、解析邮件与附件,并结合pandas进行数据分析,该方案能在5分钟内自动完成每日邮件报表的抓取、处理与报告生成,实现高效的自动化邮件处理。

tree的博客 1050

python 读取QQ邮件内容

输出结果: 代码: ## -*- coding: utf-8 -*- from email.parser import Parser from email.header import decode_header from email.utils import parseaddr import poplib # 输入邮件地址, 口令和POP3服务器地址: email = '812721863@...

Little Snow White 7489

Python自动化办公:用imaplib+email库3步搞定邮件附件批量下载(附完整代码)

本文详细介绍了如何利用Python的imaplib和email库,通过三个核心步骤实现邮件附件的批量自动化下载。内容涵盖安全连接邮箱服务器、使用IMAP协议精准搜索目标邮件,以及解析并智能保存附件。该方法能有效替代手动操作,提升办公效率,并附有完整的实战代码示例。

cherry的博客 1200
上一篇: python 3 邮件的接收(IMAP)
下一篇: #!/bin/sh # Name: nat.sh # Author: Bixuan # Date: 2003/04/04 echo "Your user the iptables
diyiday
博客等级 码龄9年 225粉丝 197原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值