SMTP как SmartHost для SendMail
Моя общая задача заключается в следующем:
- У нас есть работоспособное приложение, которое отправляет письма пользователям (которые зарегистрированы в этом приложении по некоторым действиям);
- Письма отправляются с помощью инструмента sendmail;
- Для проверки изменений наш инструмент sendmail использует умный хост. И на самом деле электронные письма не отправлялись, потому что в противном случае на этапе тестирования мы будем рассылать спам реальным пользователям.
- У меня нет доступа к этой конфигурации интеллектуального хоста, и вряд ли когда-либо говорить с администраторами, которые настроили это.
- Теперь мне нужно добавить отслеживание возврата для отправленных писем. А с точной настройкой smart_host это невозможно сделать.
- Поэтому мне нужно альтернативное решение, как выполнить тестирование. С одной стороны, я не могу отправлять реальные электронные письма (потому что это будет спам реальных пользователей), с другой стороны, мне нужно иметь возможность воспроизвести отскок, чтобы продолжить разработку.
Не могли бы вы предложить некоторую документацию, чтобы быстро сделать это?
В общем мне нужно:
- Другой SMTP-сервер, который будет использоваться инструментом SendMail;
- Этот сервер должен иметь некоторые правила для настройки функции возврата. В качестве примера, когда я отправляю письмо, электронное письмо отказов
- И после этого я смогу обработать этот отскок подходящим образом.
Или не могли бы вы представить альтернативное видение того, как можно тестировать отскоки?
1 ответ
Общее правило тестирования и разработки - делать это в тестовой системе с тестовыми данными...
Если у вас нет подходящего тестового сервера с тестовыми данными, как минимум создайте пару тестовых пользователей, чтобы вы не спамили своих реальных пользователей.
Теоретически, уведомления об ошибках доставки возвращаются отправителю, поэтому первый подход заключается в правильной настройке ваших сообщений электронной почты с рабочим адресом электронной почты в отправителе конверта, заголовками From и Return-Path, чтобы они не были nobody@hostname или apache@localhost.
При вызове sendmail вместо простого вызова sendmail напрямую добавьте пару параметров командной строки, чтобы принудительно указать действительный адрес электронной почты отправителя, например: no-reply@localhost.localdomain с:
/usr/sbin/sendmail -t -i -fno-reply@localhost.localdomain -Fno-reply@localhost.localdomain