У меня есть набор серверов, у каждого из которых будут свои задачи. веб-сервер, биллинговый сервер, игровые серверы. Каждому из них нужно будет либо отправить электронное письмо клиенту, либо просто отправить системное письмо на один адрес, чтобы им было легче управлять.
У меня есть почтовый сервер для получения всей входящей почты, используя postfix, dovecot и т. д.
Я понимаю, что мне понадобится постфикс на каждом из этих серверов, но все ли они должны иметь полную настройку, включая записи dns spf и т. Д., Или все они должны использовать почтовый сервер в качестве удаленного сервера smtp и получать всю исходящую почту с этого одна коробка?
Не знаю, почему вы говорите: «Я понимаю, что мне понадобится postfix на каждом из этих серверов». Если ваши различные приложения не требуют (что было бы странно) для отправки чего-либо, у вас может быть один сервер с Postfix, а все остальные ваши серверы просто настроены так, что их SMTP-сервер является вашим сервером с Postfix.
Однако есть одна причина, по которой вам может понадобиться Postfix на каждом сервере. Это сделано по причинам отказоустойчивости. Скажем, ServerA запускает Postfix, а ServerB - ваш веб-сервер. ServerB хочет отправить сообщение электронной почты и пытается сделать это через ServerA, но ServerA не работает. Что теперь происходит? Пользователь получает ошибку? Если у вас есть локальный Postfix на каждом сервере, тогда почта принимается, а поскольку ServerA не работает, она откладывается и повторяется.
В целом, я бы рекомендовал, чтобы только один из этих серверов был настроен для отправки электронных писем, поэтому вам нужно настроить только один почтовый сервер с SPF, маршрутизацией электронной почты и т. Д. Если вы реализуете пункт № 2 выше (если у вас есть веская причина для реализации it), то вашему веб-серверу и т. д. просто нужна строка в Postfix, чтобы каждое электронное письмо просто передавалось через ваш 1 сервер Postfix. Если у вас нет сервера Postfix на каждой машине, тогда ваше веб-приложение и т. Д. Будет настроено с вашим сервером Postfix как SMTP.
Наконец, есть еще один совет. Если вы отправляете почту для различных приложений, и если они сильно отличаются, вы можете захотеть, чтобы каждое из них отправляло электронные письма со своего собственного IP-адреса. Это сделано для того, чтобы один сервер, который может генерировать большой трафик, например, не был помечен как спам, и теперь все ваши электронные письма будут помечены как спам. Хорошей практикой является, например, рассылка массовых электронных писем, писем для переписки и транзакционных писем (подтверждение заказа и т. Д.) Через другой шлюз (IP-адреса), чтобы не снижать ваши шансы попасть в почтовый ящик. (Многие документы об этом, например, в Return Path).
Так что правильная реализация действительно зависит от ваших конкретных потребностей, объема и типа приложения. Но это должно дать людям хорошие ориентиры.
Я бы рекомендовал настроить все серверы как вспомогательные, которые отправляют свою почту на центральный постфикс. У этого есть некоторые преимущества:
Легче в обслуживании, поскольку вам нужно только настроить один почтовый шлюз с SPF, предотвращением спама, маршрутизацией почты и т. Д. Все остальные узлы просто отправляют свою почту на узел шлюза.
Входящая почта должна обрабатываться только одним сервером (если вашим вспомогательным узлам не нужно обрабатывать входящую почту).