imap_fetchbody函数中的错误消息号错误

时间:2014-03-25 06:08:01

标签: php imap

我有一个代码来搜索电子邮件&如果找到特定字符串,则会完成任务。以下是我的代码:

$date = date( "d-M-Y", strToTime( "-1 days" ));
$email=imap_search($inbox, 'SUBJECT "Undelivered Mail Returned to Sender" SINCE
       "'.$date.'"', SE_UID);
if($email){
foreach($email as $email_number) {
    $overview = imap_fetch_overview($inbox,$email_number,0);
    $message = imap_fetchbody($inbox,$email_number,1); /* This is Line 18 */

此代码给出了以下错误:

Warning: imap_fetchbody() [function.imap-fetchbody]: Bad message number in
/home/public_html/example.com/check_invalid_email.php on line 18

现在在上面的代码中,如果我只是这样改变主题:

$email=imap_search($inbox, 'SUBJECT "Mail delivery failed" SINCE
       "'.$date.'"', SE_UID);

它就像一个魅力。您的信息包含两个主题的电子邮件。 我没有包含我的整个代码,请考虑一切正常,因为更改一行会给我想要的结果。 对此有何帮助?我无法找出原因。

1 个答案:

答案 0 :(得分:0)

我认为你必须像这样使用它,因为你得到了键值数组

foreach($email as $key=>$email_number) {