imap_num_msg возвращает меньшее количество, чем фактические электронные письма во входящей почте с протоколом pop

Я пытаюсь обработать отклоненные сообщения в phplist, используя адрес электронной почты gmail в качестве адреса возврата. Когда я попытался обработать отскоки, я застрял в подобном сценарии, как упомянуто в этом Post — есть 250 отказов для обработки.

Phplist смог получить только 250 электронных писем из моей учетной записи Gmail. При дальнейшем изучении кода phplists я наткнулся на эту строку кода, которая кажется виновником.

$num = imap_num_msg($link); // получаем только счет 250

Пропустив больше деталей. Я написал несколько строк кода, чтобы получить количество писем, используя imap а также pop, Поп-версия возвращает неправильное количество, тогда как значение, возвращаемое версией imap, является правильным

$username = '[email protected]';
$password = 'password';

$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$inbox = imap_open($hostname,$username,$password);
$num = imap_num_msg($inbox);
echo $num; // prints 65,051 ( correct one)

$hostname = '{pop.gmail.com:995/pop3/ssl}INBOX';
$inbox = imap_open($hostname,$username,$password);
$num = imap_num_msg($inbox);
echo $num; // prints 250 as count ( wrong one)

На самом деле мне нужно знать, почему для разных электронных писем с разными протоколами разные показатели. Кроме того, вся помощь, которую я нашел в Интернете, связанная с обработкой отказов phplist, явно просит использовать {pop.gmail.com:995/pop3/ssl}INBOX версия. Поэтому я не могу рисковать, используя другую версию для обработки отказов.

4

Решение

Gmail имеет нестандартную реализацию POP, которая предоставляет только 250-300 сообщений одновременно, пока вы не загрузите и не удалите их. Или, если вы используете недавнее: имя пользователя в качестве вашего имени пользователя, вместо него будут отображаться последние 30 дней.

В любом случае, если вы хотите получить полный доступ к своей учетной записи Gmail, вам нужно использовать IMAP.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]