如標題所示,我想計算從某個電子郵件收到的電子郵件數量。imap對來自某些電子郵件的電子郵件數量進行計數
$message_count = imap_num_msg($imap);
這不起作用,因爲它計算郵箱中的所有電子郵件。我想製作一些能夠從過濾器郵件中給我發電子郵件的東西,但是如果我沒有,它會告訴我。
在此先感謝,我希望你能提供幫助。
如標題所示,我想計算從某個電子郵件收到的電子郵件數量。imap對來自某些電子郵件的電子郵件數量進行計數
$message_count = imap_num_msg($imap);
這不起作用,因爲它計算郵箱中的所有電子郵件。我想製作一些能夠從過濾器郵件中給我發電子郵件的東西,但是如果我沒有,它會告訴我。
在此先感謝,我希望你能提供幫助。
imap_search
將對當前選定的文件夾執行搜索並返回匹配消息數組。如果您希望通過「發件人」標題匹配郵件,您將使用FROM
標準進行搜索。
於是返回數組的大小應該爲你工作:
count(imap_search($imap, 'FROM "' . $email . '"'))
(請原諒我的任何語法失誤;我沒有編碼php多年和幾年。) – dkarp 2011-02-24 23:15:18
可能只是我,但它始終返回「1」.. – user633268 2011-02-24 23:21:19
@ user633268:它可能與雙引號有關。而不是將'imap_search'的結果傳遞給'count',看看'imap_search'返回的數組 - 它的內容看起來是否正確? – dkarp 2011-02-24 23:29:43
imap_search
容易混淆返回false
當沒有電子郵件,和count(false)==1
,讓你真正需要的東西,如:
$response = imap_search($inbox,"FROM $sender");
$nEmails = 0;
if($response) {$nEmails = count($response);}
對不起,這沒有任何意義「我從某封電子郵件收到多少封電子郵件。」你想過濾什麼?主題行,收件人,??? – Basic 2011-02-24 23:10:46