PHP Gmail IMAP已发送邮件
我从gamil收到了已发送的邮件,但我们如何排除已获取的邮件??基本上,我正在将这些电子邮件添加到数据库中,并希望排除那些已经添加到数据库中的邮件 这是我的一小段代码PHP Gmail IMAP已发送邮件,php,gmail,imap,Php,Gmail,Imap,我从gamil收到了已发送的邮件,但我们如何排除已获取的邮件??基本上,我正在将这些电子邮件添加到数据库中,并希望排除那些已经添加到数据库中的邮件 这是我的一小段代码 $imapPath = '{imap.gmail.com:993/ssl}[Gmail]/Sent Mail'; $inbox = imap_open($imapPath, $username, $password) or die('Cannot connect to Gmail: ' . imap_last_error());
$imapPath = '{imap.gmail.com:993/ssl}[Gmail]/Sent Mail';
$inbox = imap_open($imapPath, $username, $password) or die('Cannot connect to Gmail: ' . imap_last_error());
$emails = imap_search($inbox, 'BODY "Ticket #" SINCE "'.date("j F Y", strtotime('yesterday')).'"');
$output = '';
$count = 0;
if (is_array($emails) || is_object($emails)) {
$ticket_no = array();
foreach ($emails as $mail) {
$overview = imap_fetch_overview($inbox, $mail, 0);
$message = imap_body($inbox, $mail, FT_PEEK);
list($text,$ticketno) = explode("#",$message);
$message = strstr($message, 'charset="UTF-8"');
$message = substr($message, 16, -83);
$message = substr($message, 0, strpos($message, "Stay well and wash those paws!"));
$ticketno = substr($ticketno, 0, strpos($ticketno, "*"));
$ticketno = (int)$ticketno;
}
}
通过在数据库中添加msg no并检查每个id来修复此问题。您可以通过消息id来完成此操作。通常的方法是使用UID(FT_UID和friends),然后跟踪您看到的UID,不再获取它们。