Я думал, что это довольно распространенная ситуация, но я немного изо всех сил пытаюсь заставить это работать самым простым способом, а также я не уверен, делаю ли я это хорошим/рекомендуемым способом.
У меня есть два сервера, которые могут обмениваться данными через локальную сеть (а также оба имеют общедоступные IP-адреса в Интернете). Один запускает Postfix, другой обслуживает некоторые веб-сайты.
Что я хочу сделать, так это иметь возможность отправлять почту (например, письмо с подтверждением и тому подобное) через PHP с хоста веб-сервера. Поскольку это все, что делает машина, я не хочу устанавливать там полноценный Postfix, а использовать другой хост для отправки почты.
Что я сделал, так это настроил msmtp на веб-сервере и объявил его IP-адрес локальной сети надежным (путем добавления его в my_networks Postfix и т. д.) на почтовом сервере. Это работает, я могу отправлять почту с этого хоста. Но, как и ожидалось, Postfix действует как ретранслятор для почты, отправленной таким образом, добавляет соответствующий заголовок, комментарий о том, что проверка SPF была пропущена и так далее.
Теперь интересно, можно ли это сделать проще, так как веб-сервер имеет доступ по локальной сети к почтовому серверу. Можно ли напрямую использовать sendmail на почтовом сервере с веб-сервера? Например, через канал ssh, используя непривилегированного пользователя с ключом SSH без пароля? Или через какую-то маленькую программу на почтовом сервере (я не нашел), которая слушает какой-то незащищенный порт и пересылает входящие данные на sendmail? Так что на веб-сервере можно использовать фиктивный скрипт sendmail, который просто передает данные на адрес локальной сети почтового сервера и указанный порт?
Спасибо за все подсказки :-)