Php imap统计来自特定电子邮件的电子邮件

Php imap统计来自特定电子邮件的电子邮件,php,imap,Php,Imap,正如标题所说,我想数一数我从某封电子邮件中收到了多少封电子邮件 $message_count = imap_num_msg($imap); 这将不起作用,因为它统计邮箱中的所有电子邮件。我想做一些东西,让我从过滤电子邮件电子邮件,但如果我没有它告诉我它 提前谢谢你,希望你能帮忙 imap\u search将对当前选定的文件夹进行搜索,并返回一组匹配的邮件。如果您希望通过“发件人”标题匹配邮件,您将使用From标准进行搜索 因此,返回数组的大小应该适合您: count(imap_search(

正如标题所说,我想数一数我从某封电子邮件中收到了多少封电子邮件

$message_count = imap_num_msg($imap); 
这将不起作用,因为它统计邮箱中的所有电子邮件。我想做一些东西,让我从过滤电子邮件电子邮件,但如果我没有它告诉我它


提前谢谢你,希望你能帮忙

imap\u search
将对当前选定的文件夹进行搜索,并返回一组匹配的邮件。如果您希望通过“发件人”标题匹配邮件,您将使用
From
标准进行搜索

因此,返回数组的大小应该适合您:

count(imap_search($imap, 'FROM "' . $email . '"'))

imap\u search
在没有电子邮件时会令人困惑地返回
false
,并且
count(false)==1
,因此您实际上需要类似以下内容:

$response = imap_search($inbox,"FROM $sender");

$nEmails = 0;
if($response) {$nEmails  = count($response);}

对不起,这没有任何意义“我从某封邮件中收到了多少封邮件”。你想过滤什么?主题行,收件人,?(请原谅我的语法错误;我已经多年没有编写php了。)@user633268:可能与双引号有关。不要将
imap\u search
的结果传递到
count
,而是查看
imap\u search
返回的数组——它的内容看起来正确吗?@dkarp
$search=count(imap\u search($imap,'ALL');echo$搜索@dkarp得到了一半的工作。。。但是当用户没有电子邮件时,它会以1作为响应,如果它确实有来自该用户的电子邮件,它会给出正确的数字。。。你能想到什么吗。。我在上面查找了php页面。它说了一些关于它返回1,但我不知道如何修复它。感谢您迄今为止的所有帮助。@user633268:如果没有来自用户的电子邮件,请查看
imap\u search
的结果。如果它不是
数组
,您可以将该测试放在代码中,如果它是数组,则只调用
count