0

是否可以声明多个 FROM 标准?

我试过了:

$emails = imap_search($imap, 'FROM "test@stackoverflow.com" FROM2 "test2@stackoverflow.com"');

$emails = imap_search($imap, 'FROM "test@stackoverflow.com,test2@stackoverflow.com"');

$emails = imap_search($imap, 'FROM "test@stackoverflow.com" OR FROM "test2@stackoverflow.com"');

这些都不起作用。有人知道解决方案吗?

4

3 回答 3

1

以前从未使用过 imap,但您可以尝试这样的事情吗?

$from = array("test@stackoverflow.com", "test2@stackoverflow.com");
$emails = array();

foreach($from as $search){
    $emails[] = imap_search($imap, 'FROM "'.$search.'"');
}
于 2013-08-30T12:37:50.633 回答
1

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

A OR B OR C

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

OR OR A B C

你应该这样读:

OR( OR(A B) )

这真的是一个前缀符号

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

或来自“test@stackoverflow.com”来自“test2@stackoverflow.com”

不确定是否需要引号。

于 2013-08-31T13:19:05.653 回答
-1
$emails = imap_search($connection, OR FROM "@domain.pt"  FROM "user@any_domain.pt" );

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

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

于 2015-04-22T14:06:03.447 回答