SMTP как SmartHost для SendMail

Моя общая задача заключается в следующем:

  1. У нас есть работоспособное приложение, которое отправляет письма пользователям (которые зарегистрированы в этом приложении по некоторым действиям);
  2. Письма отправляются с помощью инструмента sendmail;
  3. Для проверки изменений наш инструмент sendmail использует умный хост. И на самом деле электронные письма не отправлялись, потому что в противном случае на этапе тестирования мы будем рассылать спам реальным пользователям.
  4. У меня нет доступа к этой конфигурации интеллектуального хоста, и вряд ли когда-либо говорить с администраторами, которые настроили это.
  5. Теперь мне нужно добавить отслеживание возврата для отправленных писем. А с точной настройкой smart_host это невозможно сделать.
  6. Поэтому мне нужно альтернативное решение, как выполнить тестирование. С одной стороны, я не могу отправлять реальные электронные письма (потому что это будет спам реальных пользователей), с другой стороны, мне нужно иметь возможность воспроизвести отскок, чтобы продолжить разработку.

Не могли бы вы предложить некоторую документацию, чтобы быстро сделать это?

В общем мне нужно:

  1. Другой SMTP-сервер, который будет использоваться инструментом SendMail;
  2. Этот сервер должен иметь некоторые правила для настройки функции возврата. В качестве примера, когда я отправляю письмо, электронное письмо отказов
  3. И после этого я смогу обработать этот отскок подходящим образом.

Или не могли бы вы представить альтернативное видение того, как можно тестировать отскоки?

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
Другие вопросы по тегам