Назад | Перейти на главную страницу

Пересылка почты на разные домены с помощью Postfix - все домены размещены на одном сервере - внешний почтовый хостинг

У меня есть один сервер, на котором размещено несколько доменов - один основной домен и несколько доменов псевдонимов.

Домены

main.com
alias1.com
alias2.com

Я использую электронную почту регистратора доменных имен (Gandi.net) для основного домена. Я хотел бы, чтобы все электронные письма на псевдонимы доменов пересылались в почтовый сервис основного. Я думаю, это означает, что просто отправьте их на @ main.com.

Я борюсь с настройками Postfix (и, возможно, DNS?).

DNS

main mx records
    fb.mail.gandi.net      <-- Gandi's settings - I'm sure they're correct  
    spool.mail.gandi.net

alias1 mx records
    mail.alias1.com

alias2 mx records
    mail.alias2.com

Все домены имеют запись A / AAAA для mail. [Domain] .com, которая указывает на IP-адрес сервера.

У меня также есть 4-й домен (superdomain.com), который я использую в качестве имени хоста сервера. Его записи DNS выглядят так же, как main.com.

Используя эту страницу из Postfix - http://www.postfix.org/VIRTUAL_README.html - похоже, я могу использовать виртуальные псевдонимы доменов

настройки main.cf

myhostname = mail.superdomain.com
mydestination = pluto.superdomain.com localhost.superdomain.com localhost $myhostname localhost.$mydomain
virtual_alias_domains = alias1.com alias2.com
virtual_alias_maps = hash:/etc/postfix/virtual

relay_domains = main.com

содержимое виртуального файла

@alias1.com @main.com
@alias2.com @main.com

Настройки могут выглядеть немного странно. Пока я пробовал довольно много комбинаций :-P. Структура виртуального файла происходит из ответа на Как перенаправить всю почту с одного домена на другой в Postfix? [serverfault.com]

Судя по отзывам тестовых писем, я получаю результаты «в соединении отказано».

Есть идеи или советы?

Это была проблема с межсетевым экраном (iptables)! В какой-то момент поменял фаервол и совсем забыл :-P

Для тех, кто может помочь сделать это в будущем, окончательная конфигурация для этого была:

main mx records
    fb.mail.gandi.net
    spool.mail.gandi.net

alias1 mx records
    mail.superdomain.com

alias2 mx records
    mail.superdomain.com

настройки main.cf

myhostname = mail.superdomain.com
mydomain = superdomain.com
mydestination = pluto.superdomain.com, localhost.superdomain.com, localhost
virtual_alias_domains = alias1.com alias2.com

содержимое виртуального файла

@alias1.com @main.com
@alias2.com @main.com

Дополнительное правило firewall / iptables

-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT

Суть настроек такова:

  • записи mx mail сообщают почтовым серверам в Интернете (не вашему), на какой IP-адрес они должны отправлять свою почту. Каждый из доменов имел запись A для mail. [Domain] .com, которая преобразовывалась в IP-адрес сервера. Я думаю, что его можно было бы оставить как mail.alias [x] .com, но было удобнее сделать его mail.superdomain.com, поскольку супердомен концептуально является доменом почтового сервера.
  • mydestination указывает, к каким доменам postfix может доставлять на этом сервере - то есть локально
  • virtual_alias_domains указывает, куда postfix разрешено пересылать почту (псевдоним)