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