// IMAP must be enabled in Google Mail Settings
define('GMAIL_EMAIL', '[email protected]');
define('GMAIL_PASSWORD', 'password');
define('ATTACHMENTS_DIR', dirname(__FILE__) . '/attachments');$mailbox = new ImapMailbox('{imap.gmail.com:993/imap/ssl}INBOX', GMAIL_EMAIL, GMAIL_PASSWORD, ATTACHMENTS_DIR, 'utf-8');
$marray=array();
$marray=$mailbox->searchMails('UNSEEN');
foreach($marray as $mailId) {
$mail = $mailbox->getMail($mailId);
// $mailbox->setMailAsSeen($mail->mId);
// $mailbox->deleteMail($mail->mId);
$mails[] = $mail;
}
if(!empty($mails)){
//进行处理
}
用cpane;的cron job定时处理,定时1分钟
乍看起来这没什么问题,
但是当我连续发送2,3,4封邮件,或者有时干脆1封邮件的时候,
也会出现丢失邮件的情况,
在邮箱中观察,明明是变成已读状态了。
但是if(!empty($mails)){
//进行处理
}这里的操作就没执行下去。
有人说1分钟太快,好吧,那就设置5分钟,还是老样子~
读照样读取,邮件里也把未读的变成已读了
问题就是if(!empty($mails)){
//进行处理
}这里的操作,有时执行有时不执行。有啥好的方法
或者更好的IMAP处理方法???