
У меня есть Linux VPS с некоторыми из моих неважных сервисов, но почтовый сервер не установлен. Мой почтовый сервер работает на гораздо более надежном (и дорогом) Linux-сервере.
В этой ситуации, конечно, я не могу отправить письмо со своего VPS (php, cron и т. д., письмо просто отражается в /var/mail). Если я хочу отправить письмо отсюда, мне нужно вручную указать SMTP-сервер. На сервере с почтовым сервером мне не нужно этим заниматься. Письмо просто отправляется. Я не уверен, связано ли это с тем, что почтовый сервер установлен на этом сервере, или парень до меня просто настроил какие-то глобальные настройки почты (есть что-то подобное?).
Итак, есть ли способ сделать какую-то глобальную настройку на VPS, которая будет сообщать всем, какой smtp-сервер использовать при отправке почты, вместо того, чтобы отправлять ее в /var/mail? Спасибо.
решение1
Правильно настроенный Linux-бокс требует работающего на нем почтового сервера. Это не обязательно должен быть полноценный почтовый сервер, это может быть минимальный сервер, который принимает почту на порту 25 и ретранслирует ее на ваш основной сервер.
(Мне это не нравится, но exim широко используется. Я предпочитаю базовую установку postgres с ретранслятором. Если вы пойдете по этому пути, вам нужно будет убедиться, что почтовый сервер защищен брандмауэром localhist, а почтовый сервер разрешает ретрансляцию с этого IP-адреса.)
Нет единого места, где можно было бы указать Linux-коробке ретранслировать почту, кроме как запустить почтовый сервер. Вы могли бы частично решить эту проблему, переименовав send mail и создав оболочку вокруг нее, чтобы она ретранслировала, но это не будет работать повсеместно и, скорее всего, будет иметь непредвиденные последствия.