imap_search 和 FROM 标准

问题描述 投票:0回答:3

是否可以声明多个

FROM
标准?

我已经尝试过:

$emails = imap_search($imap, 'FROM "[email protected]" FROM2 "[email protected]"');

$emails = imap_search($imap, 'FROM "[email protected],[email protected]"');

$emails = imap_search($imap, 'FROM "[email protected]" OR FROM "[email protected]"');

这些都不起作用。有谁知道解决办法吗

php imap
3个回答
3
投票

IMAP 搜索的 OR 语法有点有趣。通常我们是这样想的:

A OR B OR C

另一方面,在 IMAP 中,它的工作原理如下:

OR OR A B C

你应该这样读:

OR( OR(A B) )

这确实是一个前缀表示法

因此,要直接回答您的问题,您需要执行以下操作:

或来自“[电子邮件受保护]”来自“[电子邮件受保护]

不确定是否需要报价。


1
投票

以前从未使用过 imap,但你可以尝试这样的东西吗?

$from = array("[email protected]", "[email protected]");
$emails = array();

foreach($from as $search){
    $emails[] = imap_search($imap, 'FROM "'.$search.'"');
}

-1
投票
$emails = imap_search($connection, OR FROM "@domain.pt"  FROM "user@any_domain.pt" );

这将仅过滤从任何用户 od domain.pt 和用户 user@any_domain.pt 收到的邮件

为我工作,希望它对你也有用。

© www.soinside.com 2019 - 2024. All rights reserved.