【发布时间】:2015-12-12 01:07:14
【问题描述】:
我正在做一个项目,我需要使用特定条件搜索 IMAP 电子邮件。
我需要检查来自模式电子邮件地址的电子邮件。
我需要过滤包含特定长度数字的电子邮件地址,例如 8 或 10,并且数字必须按顺序排列。
我的意思是,如果我选择 6 个字符,那么:
abcd154632xxx@asdf.com
154892@sdfds.com
123456xxx@gmail.com
上面的 3 个例子可以工作,但 a1b2c3d4e5f6@df.com 不能工作,因为它有 6 个数字,但不是 6 位数字。
所以,我尝试了以下:
imap_search($conn, 'From "*######*@*"', SE_UID);
但它失败了。
我怎样才能做到这一点?正则表达式会为此工作吗?
【问题讨论】:
-
没有地方说 imap 支持通配符/正则表达式进行搜索。您可能必须获取所有 From 标题行并在您的代码中搜索。
-
@MarcB,感谢您的回复先生,但问题是我有数千封电子邮件要处理,如果处理完所有邮件将需要数十年的时间:( 没有更短/更快的方法吗?跨度>
-
不,没有。您要么必须使用基本的远程搜索工具,要么获取所有标题并自己搜索它们。此外,如果您不逐个获取它们,下载“数千个”标题不需要数十年的时间。 Thunderbird 可以在几分钟内同步数千个邮箱的标题。
-
@Max,感谢您的回复先生,我的意思是 30-50+ 数千封电子邮件。能分分钟搞定吗?
-
取决于您的互联网连接以及您的实现方式。