Назад | Перейти на главную страницу

Отброшенные письма не доходят до postfix

У меня есть postfix и dovecot, установленные на производственной машине Centos 6.4 (www.bw.co.uk). Цель состоит в том, чтобы отправлять все системные и транзакционные сообщения и собирать отказы. Идентификаторы электронной почты, которые привели к отказу, затем помечаются, чтобы сайт не отправлял дальнейшие сообщения на эти идентификаторы.

У меня есть необходимые настройки SPF-записей в DNS и настройки PTR-записей на стороне моего хостинг-провайдера. Мои записи MX указывают на другой почтовый сервер, на который наши сотрудники отправляют и получают электронную почту.

Моя проблема в том, что хотя я смог отправлять почту с производственной машины, я не могу читать отказы, используя свой php-фрагмент. На самом деле я даже не знаю, доходят ли отскоки до машины!

У меня аналогичная настройка на моем тестовом (www.st.biz) компьютере с тем же хостинг-провайдером, записи MX, SPF и PTR настроены аналогичным образом, т.е. записи MX указывают на другой почтовый сервер, на который сотрудники отправляют и получают почту. . На тестовой машине я могу читать отказы с помощью программы PHP.

Журналы постфикса / var / log / maillog на производственной машине указывают на единичный отказ, который не был инициирован программой php, которая отправляет транзакционные сообщения 3 марта 03:15:03 bw postfix / smtp [22338]: 09420120CA3: to = , relay = mail.st.in [999.999.999.999]: 25, delay = 0.9, delay = 0.05 / 0.02 / 0.43 / 0.41, dsn = 4.7.1, status = deferred (host mail.st.in [999.999.999.999 ] сказал: 451 4.7.1 Повторите попытку позже (в ответ на команду DATA))

Есть идеи, что может быть не так?

Скачки будут возвращены в систему реле. Вы должны организовать пересылку возвращенных сообщений обратно в вашу систему для обработки. Обработка отказов может быть проще, чем пересылка отказов обратно в вашу систему.

Используйте конкретный адрес электронной почты для отправки в форме "donotreploy@example.com". Он должен находиться в соответствующем домене или субдомене для вашего приложения.

При нормальной обработке вы можете ожидать, что какое-то электронное письмо будет оставаться в очереди в течение длительного времени, прежде чем будет возвращено. Обычно это составляет от 4 до 7 дней.

Некоторые системы принимают почту до того, как решить, доставить ее или нет. Если они хорошо себя ведут, вы не увидите от них отказов, поскольку они рискуют создать спам с обратным рассеянием, если они отправят сообщение о недоставке.

РЕДАКТИРОВАТЬ: Я ожидал, что ваше электронное письмо будет отправлено с использованием сервера MX, который, похоже, отличается от вашего веб-сервера. (Электронное письмо отправлено с www. домены - это необычно, и, по моему опыту, это скорее всего спам.) Использование второго домена на том же сервере для отправки почты может быть более подходящим. Ни один из описанных вами доменов не является действительным, поэтому я не могу проверить вашу конфигурацию.

Если вы хотите, чтобы отказы оставались на вашем веб-сервере, используйте его как MX для себя или просто опустите запись MX. Настроить postmaster адрес, который можно использовать для отправки информации о проблемах конфигурации. Аналогичным образом abuse адрес рекомендуется, чтобы отчеты о злоупотреблениях могли быть отправлены вам. Оба они могут быть отправлены пользователям в домене MX, на который вы ссылаетесь.

Билл прав насчет записи MX, из-за которой не возвращается почта. По сути, хотя SPF позволяет отправлять почту, а запись PTR подтверждает это, запись MX, указывающая на другой сервер, означает, что возвратные сообщения будут отправлены туда.

Когда удаленному почтовому серверу необходимо вернуть электронное письмо, он выполнит поиск MX в вашем домене и отправит электронное письмо на эту запись. Итак, все ваши отказы будут возвращаться на этот сервер.

Вы можете создать субдомен на своем сервере, а затем создать псевдоним на машине с записью MX, postmaster@domain.com => postmaster@sub.domain.com. Таким образом, вы получите все отскоки.