You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在imap_tools中使用表达式匹配@test.com域名的邮件?

解决imap_tools匹配指定域名邮件的问题

你之前用\w+@test.com作为from_参数值无法生效,是因为imap_tools的筛选条件遵循IMAP协议的搜索语法,不是Python正则表达式,IMAP搜索不支持\w+这类正则符号。

方法一:用IMAP通配符直接筛选

IMAP搜索支持*作为通配符(匹配任意长度的任意字符),直接用*@test.com就能匹配所有@test.com域名的邮件,代码如下:

messages = mb.fetch(criteria=AND(seen=False, from_="*@test.com"), mark_seen=True, bulk=True)

方法二:Python层面二次过滤(更灵活)

如果需要更精确的匹配规则(比如验证邮箱前缀格式),可以先拉取所有未读邮件,再用Python正则在本地过滤:

import re
from imap_tools import AND

# 先获取所有未读邮件
messages = mb.fetch(criteria=AND(seen=False), mark_seen=True, bulk=True)
# 过滤出@test.com结尾的邮件
target_messages = [msg for msg in messages if re.match(r'.+@test\.com$', msg.from_)]

内容的提问来源于stack exchange,提问作者Jorhanc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 04:05:25