Я пытаюсь обработать отклоненные сообщения в 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
версия. Поэтому я не могу рисковать, используя другую версию для обработки отказов.
Gmail имеет нестандартную реализацию POP, которая предоставляет только 250-300 сообщений одновременно, пока вы не загрузите и не удалите их. Или, если вы используете недавнее: имя пользователя в качестве вашего имени пользователя, вместо него будут отображаться последние 30 дней.
В любом случае, если вы хотите получить полный доступ к своей учетной записи Gmail, вам нужно использовать IMAP.
Других решений пока нет …