Я использую скрипт для отправки новостных рассылок по sendmail, поэтому я хочу получить доступ к уведомлению о статусе доставки в случае сбоя почты, есть ли команда для просмотра содержимого DSN?
1 ответ
Проверьте свой почтовый журнал. Он должен показывать все поставки и их статус. Я ожидал бы, что большинство сбоев происходит во время отправки, что должно привести к тому, что на ваш адрес будет отправлено сообщение об отказе.
Ваша почтовая очередь может содержать несколько сообщений, от которых временно отказывают. Это может быть в таких случаях, как заполнение почтового ящика, перебои в работе сервера и другие ситуации, которые могут быть разрешены.
Сообщения об отказе имеют пустого отправителя, поэтому вы можете отфильтровать сообщения об отказе в процессе, а не в почтовом ящике. (Пустой адрес отправителя предотвращает отскок сообщений отказов.) Затем он может проанализировать сообщение, чтобы убедиться, что оно является ненадежным, и записать состояние этого адреса. Отказов может быть временным (почтовый ящик заполнен и т.д.), Поэтому вы должны обрабатывать сообщения отказов соответственно
Многие пользователи отключают уведомления о состоянии доставки, поэтому они не являются надежным индикатором того, что сообщение не было доставлено. Ответ DSN является надежным показателем доставки. Ответы DSN отправляются на адрес отправителя в виде сообщения электронной почты. Я полагаю, что, как и сообщения о пересылке, адрес отправителя конверта является пустым, чтобы предотвратить их отправление. Если вы обрабатываете сообщения с помощью программы, они должны обрабатывать эти сообщения не так, как отказовые сообщения.
В итоге вы должны получить три класса адресов электронной почты:
- адреса, о которых известно, что они отказов (отскоки могут быть постоянными или временными);
- адреса, известные для работы (отправка сообщений DSN); а также
- адреса неизвестного статуса (ни перенаправления, ни отправки DSN).
Вы должны активно удалять адреса, которые отказов с постоянным статусом.