Я переношу некоторые приложения на AWS и пытаюсь отделить некоторые почтовые функции от серверов приложений.
Короче говоря, я пытаюсь настроить PHP (используя PEAR Mail.php) для отправки почты через удаленный почтовый сервер через ssh через sh-скрипт, настроенный в php.ini sendmail_path.
Мой sendmail_path в php.ini
/data/scripts/mailer.sh -t -i
Мой mailer.sh
ssh appuser@remotehost.com "cat /dev/stdin | /usr/sbin/sendmail \"$@\" &"
Я подтвердил на удаленном хосте, что отправляющий сервер проходит проверку подлинности, но почта не отправляется и журналы не отображаются в mail.log. Когда я тестирую это вручную, используя:
ssh appuser@remotehost.com "echo \"Hello\" | /usr/sbin/sendmail test@example.com"
Он работает нормально, то есть сервер аутентифицирует и отправляет почту через удаленный sendmail.
По какой-то причине он не работает с моим скриптом и / или настройкой php.ini.
Ура.