gmailのメールをバウンスバックアドレスとして使用して、phplistでバウンスされたメールを処理しようとしています。バウンスを処理しようとしたときに、この投稿 - There are 250 bounces to process で説明されているのと同様のシナリオで行き詰まりました。
Phplist は、私の gmail のアカウントから 250 通のメールしか取得できませんでした。phplists のコードをさらに調査すると、犯人のように見えるこのコード行に出くわしました。
$num = imap_num_msg($link);
// 250 のカウントのみを取得
詳細はスキップします。imap
と を使用してメール数を取得するコードを数行書きpop
ました。pop バージョンは間違ったカウントを返しますが、imap バージョンによって返されるカウントは正しいです
$username = 'bounceemail@mydomain.com';
$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
バージョンの使用を明示的に求めています。したがって、バウンスを処理するために他のバージョンを使用する危険はありません。