Python parseaddr怎么用,如何解析邮箱地址?

Python email.utils.parseaddr 详解

parseaddr 是 Python 标准库 email.utils 模块中的一个实用函数,专门用于解析电子邮件地址字符串,它能够将包含姓名和邮箱地址的组合字符串拆分为一个元组。

基本功能

在电子邮件系统中,地址经常以 "Real Name <email@example.com>" 的格式出现。parseaddr 的作用就是将这种格式的字符串解析为两个部分:真实姓名 (Real Name) 和 电子邮件地址 (Email Address)。

Python批量读取邮件,整理数据,解放你的时间
加载中
Python批量读取邮件,整理数据,解放你的时间

语法与返回值

语法:

from email.utils import parseaddr
result = parseaddr(address_string)

返回值:
返回一个包含两个元素的

Python parseaddr怎么用,如何解析邮箱地址?

元组 (Tuple):(realname, email_address)。

  • realname: 提取出的姓名部分(如果没有则为空字符串)。
  • email_address: 提取出的纯邮箱地址部分。

代码示例

以下是 parseaddr 处理不同输入场景的示例:

from email.utils import parseaddr
# 场景 1:标准格式(姓名 + 邮箱)
addr1 = "Zhang San <zhangsan@example.com>"
print(f"输入: {addr1} -> 解析结果: {parseaddr(addr1)}") 
# 输出: ('Zhang San', 'zhangsan@example.com')
# 场景 2:仅有邮箱地址
addr2 = "lisi@example.com"
print(f"输入: {addr2} -> 解析结果: {parseaddr(addr2)}") 
# 输出: ('', 'lisi@exa

Python parseaddr怎么用,如何解析邮箱地址?

mple.com') # 场景 3:包含引号的姓名 addr3 = '"Wang Wu" <wangwu@example.com>' print(f"输入: {addr3} -> 解析结果: {parseaddr(addr3)}") # 输出: ('Wang Wu', 'wangwu@example.com') # 场景 4:非法或空字符串 addr4 = "invalid-address" print(f"输入: {addr4} -> 解析结果: {parseaddr(addr4)}") # 输出: ('', 'invalid-address')

核心要点总结

  • 自动去引号:如果姓名部分被双引号包裹(如 "John Doe"),parseaddr 会自动去除引号,只保留纯文本。
  • 容错性:即使输入不符合标准的 RFC 格式,它也不会抛出异常,而是尽可能地尝试解析,无法解析的部分会返回空字符串。
  • 适用场景

    Python parseaddr怎么用,如何解析邮箱地址?

    :

    • 处理邮件头(Headers)中的 From 或 To 字段。
    • 从用户输入中提取纯邮箱地址以进行数据库存储。
    • 清洗包含多样化格式的联系人列表。

注意事项

  • 验证能力有限:parseaddr 仅用于解析(Parsing),而不是验证(Validation),它不会检查邮箱地址是否符合真实的语法规范(例如是否包含 符号),如果需要验证邮箱合法性,建议使用正则表达式或第三方库如 email-validator。
  • 编码问题:对于包含非 ASCII 字符(如中文)的编码地址,建议结合 email.header.decode_header 一起使用,以确保正确处理字符集。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/python-parseaddr%e6%80%8e%e4%b9%88%e7%94%a8%ef%bc%8c%e5%a6%82%e4%bd%95%e8%a7%a3%e6%9e%90%e9%82%ae%e7%ae%b1%e5%9c%b0%e5%9d%80%ef%bc%9f/

赞 (0)
Python中open函数怎么用?Python读取txt文件的方法有哪些?
上一篇 2026年7月13日 22:38
服务器1U尺寸是多少,1U服务器高度是多少厘米?
下一篇 2026年7月13日 22:41

相关推荐

  • 服务器建站框架怎么选?2026建站框架选择指南

    选择正确的建站架构是服务器高效稳定运行的决定性因素,它直接决定了网站的性能上限、安全等级以及后期的运维成本,一个优秀的架构设计能够让服务器资源利用率最大化,确保在高并发场景下依然保持流畅访问,而错误的架构选择则会导致服务器频繁宕机、数据丢失以及高昂的维护代价,对于追求长期发展的网站而言,构建科学合理的服务器建站……

    服务器运维 2026年4月9日
    9500
  • FTP站点如何通过域名访问,FTP域名解析怎么设置?

    如何通过域名访问 FTP 站点通过域名访问 FTP 站点,本质上是将你的域名通过 DNS 解析指向 FTP 服务器的 IP 地址,这样,你就不需要记忆复杂的 IP 地址,直接输入域名即可连接,核心准备条件在开始配置之前,请确保你拥有以下资源:一个已购买的域名,一个运行中的 FTP 服务器,该服务器的公网 IP……

    服务器运维 2026年7月14日
    400
  • 服务器应用程序点不开怎么办?服务器无法启动的解决方法

    服务器应用程序点不开,通常由服务进程崩溃、端口冲突、资源耗尽或配置文件错误导致,解决的核心逻辑在于“先恢复服务,后排查根源”,面对这一故障,切勿盲目重启服务器,应遵循标准化的排查流程,通过检查服务状态、分析系统日志、验证网络端口占用情况,快速定位故障点并进行针对性修复,以确保业务连续性, 快速诊断:检查服务运行……

    2026年4月8日
    10300
  • 如何用docxtpl生成Word文档?python docxtpl模板引擎教程

    使用python docxtpl库可以通过保留Word模板中的变量标签,实现批量、精准且格式完美的自动化文档生成,彻底告别繁琐的Word排版与复制粘贴,在办公自动化领域,处理大量重复性文档曾是无数职场人的噩梦,无论是每月生成的几十份合同,还是季度汇报中的上百张数据图表,手动操作不仅效率低下,还极易出错,随着Py……

    2026年7月6日
    10000
  • 个人怎么监测舆情?如何免费使用舆情监测工具

    个人监测舆情并非遥不可及,核心在于利用免费或低成本工具建立“关键词+平台+时间”的自动化预警闭环,从而在负面信息发酵前掌握主动权,在2026年的数字生态中,信息传播速度呈指数级增长,对于个人而言,无论是公众人物、自由职业者,还是正在求职的职场人,维护个人声誉已成为一项必备技能,你不需要组建庞大的公关团队,只需掌……

    2026年5月30日
    4800
  • 个人电脑如何搭建邮件服务器?自建邮件服务器教程

    个人电脑搭建邮件服务器在技术上是完全可行的,但受限于宽带上行带宽、IP信誉度及运维复杂度,它更适合极客玩家、隐私倡导者或小型内部团队进行技术实验,而非替代企业级商业邮件服务,很多人对自建邮件服务器抱有浪漫化的想象,觉得把代码跑在自家电脑上就能拥有绝对的数据主权,现实情况是,这是一条布满荆棘的技术之路,你需要面对……

    服务器运维 2026年5月27日
    6700
  • GPU云计算一年多少钱?2026年最新价格表

    2026年GPU云计算成本差异巨大,按需实例每小时约10-50元,包年包月可低至30%-50%折扣,具体取决于芯片型号(如A100/H100与国产昇腾/寒武纪)及资源利用率,选择GPU云资源不再是简单的“买卡”行为,而是一场关于算力性价比、业务连续性和技术适配性的综合博弈,对于开发者、初创团队以及大型科研机构而……

    2026年6月24日
    4600
  • 当服务器故障如何联系管理员?服务器管理员紧急联系方式大全

    要联系服务器的管理员,您需要根据服务器类型、托管方式和具体问题选择合适的途径,核心方法包括检查服务器文档、使用命令行工具(如SSH)、访问控制面板(如cPanel或Plesk)、联系托管提供商客服或直接通过管理界面提交请求,每种方法都需确保安全性和效率,避免未经授权的访问,以下是详细指南,帮助您高效解决问题,为……

    2026年2月11日
    11630
  • 个人建站云服务器怎么选?云服务器租用价格及配置推荐

    个人建站首选轻量级云服务器,初期选择2核2G配置搭配按量付费或月度包年方案,既能满足基础访问需求,又能有效控制成本,避免资源浪费,搭建个人网站是许多技术爱好者、博主及自由职业者的第一步,但面对市面上琳琅满目的云服务商和复杂的配置参数,新手往往容易陷入选择困难症,选错服务器不仅会导致网站加载缓慢、频繁宕机,还可能……

    2026年6月1日
    5700
  • 服务器提示已失去连接是什么原因,服务器连接断开怎么解决

    “服务器提示已失去连接”的本质是客户端与服务器之间的数据传输链路中断,解决该问题需遵循“排查本地环境—检测网络链路—诊断服务器状态”的逻辑闭环,绝大多数连接故障源于网络波动或配置错误,而非服务器硬件彻底损坏,即时诊断:快速定位故障源头面对连接中断,首要任务是判断故障位置,盲目重启服务器往往无效,精准诊断才能节省……

    2026年3月6日
    13800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注