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)中的 FromTo 字段。
    • 从用户输入中提取纯邮箱地址以进行数据库存储。
    • 清洗包含多样化格式的联系人列表。

注意事项

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

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/492446.html

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

相关推荐

  • 高级数据分析工程师做什么的?高级数据分析工程师就业前景如何

    2026年高级数据分析工程师的核心价值已从单一的数据处理跃迁为商业增长的引擎,具备AI算法融合与业务战略双重视角的复合型人才将主导企业数字化转型的最终成败,2026年高级数据分析工程师的职能重构从取数工具人到决策合伙人在数据要素市场化深化的今天,高级数据分析工程师早已脱离了“SQL表哥/表姐”的刻板印象,根据中……

    2026年4月26日
    5900
  • 服务器地区名称变更通知怎么办?服务器地区变更怎么处理?

    为了进一步提升云服务的标准化水平与全球用户的识别体验,我们决定对现有服务器地区的命名规则进行全面优化,此次调整旨在遵循国际地理行政区划标准,消除因历史命名产生的歧义,确保资源调度的精准性,本次变更仅涉及控制台及API层面的地区名称显示,底层物理设施、IP地址段及网络性能均保持不变,用户无需进行数据迁移或业务中断……

    2026年2月17日
    15600
  • 服务器如何安装与配置?服务器安装与配置教程

    高效、稳定、安全的三大核心原则服务器安装与配置是IT基础设施落地的起点,直接影响系统可用性、性能表现与安全边界,一次成功的安装与配置,必须满足三大核心原则:高效部署、稳定运行、安全可控,以下从规划、安装、配置、验证四个阶段展开,提供可落地的专业方案,安装前:科学规划,规避90%的后期风险规划决定成败,跳过此步……

    服务器运维 2026年4月16日
    5600
  • 服务器最小化老是失去连接怎么办,远程桌面断开怎么解决?

    服务器最小化安装后出现频繁断连或无法建立稳定连接的问题,核心结论通常指向三个维度:网络管理工具的缺失导致配置不稳定、SSH服务端的超时策略过于激进、以及系统内核层面的资源回收机制未针对长连接优化,解决这一问题不能仅靠重启网络服务,而需要从系统底层工具补全、服务参数调优以及内核资源限制三个层面进行系统性修复,以下……

    2026年2月22日
    14300
  • 服务器巡检记录单怎么写?服务器巡检记录表模板下载

    服务器巡检记录单是企业IT运维管理的核心资产,其本质不仅仅是简单的设备检查清单,而是保障数据中心业务连续性、规避潜在系统风险的法律效力文档,一份专业、规范的记录单能够将被动的故障抢修转化为主动的预防性维护,直接决定了服务器生命周期管理的成败,核心结论在于:服务器巡检记录单必须具备实时性、可追溯性和闭环管理机制……

    2026年4月11日
    7700
  • 国内哪些服务器支持ipv6?哪家性价比高?

    国内支持IPv6的服务器主要分为三类:公有云厂商、传统IDC服务商、自建机房,像简米科技这类持牌自营机房和酷番云等全牌照服务商,对IPv6的支持最为全面和稳定,为什么2026年必须选择支持IPv6的服务器国内IPv6部署已进入深水区,工信部近年来多次发文推动网络基础设施向IPv6过渡,要求新上线网站和应用优先支……

    2026年8月23日
    400
  • 如何增强服务器安全配置,服务器安全配置的注意事项有哪些?

    服务器安全增强配置的核心在于最小权限、及时更新、防火墙规则和日志审计,这四步能抵御绝大多数常见攻击,很多运维团队在初期都会忽略这些基础工作,等到出现入侵事件才后悔莫及,下面从实操角度,把整个安全增强过程拆解成可执行的步骤,覆盖从系统层到应用层的常见配置,服务器安全加固步骤安全加固并非一次性工作,而是需要持续维护……

    2026年8月4日
    300
  • 服务器带宽越大越好吗?大带宽服务器真的适合所有业务吗?

    服务器带宽并非越大越好,而是越“匹配”越好,盲目追求大带宽不仅会造成严重的资源浪费,还会大幅增加运营成本,正确的做法是根据业务类型、并发规模及用户体验需求,精准选择最适配的带宽方案,实现性能与成本的最优平衡,核心结论:带宽选择需遵循“木桶效应”,匹配才是硬道理很多用户在搭建网站或部署应用时,容易陷入一个误区,认……

    2026年4月11日
    7400
  • csgo社区服务器哪些可以看

    CSGO社区服务器推荐:优先选择国内低延迟、稳定运营的服务器,如“XX娱乐社区”、“XX训练服”,并通过游戏内浏览器或第三方平台筛选,服务器质量取决于托管商,简米科技、酷番云等持牌IDC提供的基础设施是稳定性的关键保障,如何找到热门CSGO社区服务器游戏内服务器浏览器打开CSGO,点击“开始游戏”->“社……

    2026年8月21日
    400
  • 服务器审计工具有哪些?免费服务器审计工具推荐

    服务器审计工具是保障系统安全、合规运营与运维透明化的关键基础设施,在数字化转型加速、等保2.0强制落地、GDPR等法规趋严的背景下,服务器审计工具已从“可选辅助”升级为“必备防线”,它通过自动化记录、分析与预警服务器操作行为,实现“谁、在何时、做了什么、是否合规”的全生命周期可追溯,大幅降低内部威胁、误操作风险……

    服务器运维 2026年4月16日
    6100

发表回复

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