Одной из возможных вещей, которую вы могли бы сделать, кроме того, чтобы PHP-скрипт считывал почту с сервера pop / imap, было бы направление входящей почты по определенному адресу в php-скрипт. См. Google
Затем вы должны прочитать все содержимое сообщения, выполнив что-то вроде $email = file_get_contents('php://stdin');
Я установил расширение php mailparse , чтобы помочь в анализе писем RFC, но есть и другие доступные варианты. Вам даже не обязательно использовать что-либо для анализа сообщения.
Если у вас есть сообщение, вы можете использовать несколько индикаторов, чтобы попытаться пометить сообщение как ожидающее. Во-первых, посмотрите статью в Википедии о Отчеты о недоставке , в частности Формат и RFC 6522 - Тип мультимедиа / отчета для сообщений администратора системы электронной почты Вы также можете проверить общие заголовки в сообщении, такие как X-Failed-Recipients
или Diagnostic-Code
.
Как только вы определили сообщение как отказ в почтовом процессоре PHP, вы можете предпринять соответствующие действия и установить флаг в базе данных, связанный с этим письмом. Имейте в виду, некоторые ошибки могут не означать, что адрес не годится. Например, если почтовый сервер не работает в течение нескольких дней, ваш MTA может сдаться, но это не означает, что адрес не годится. Также почтовый ящик пользователя может быть переполнен.
Было бы неплохо зарегистрировать копию отскоченного сообщения, чтобы ее мог проверить человек, если необходимо диагностировать проблему или отменить пометку или определенный адрес электронной почты.
Вот несколько дополнительных ссылок:
http://forums.theplanet.com/lofiversion/index.php/t89873.html (примечание Возможность улучшения 2)
https://stackoverflow.com/questions/5700034/how-do-i-process-a-bounce-email-to-find-the-error-code
Отказаться от обработки электронной почты с помощью PHP?
Надеюсь, это поможет.