Конфигурация Postfix — разные серверы для поддоменов и домена

Конфигурация Postfix — разные серверы для поддоменов и домена

У меня следующая настройка: 1 сервер Postfix: a.example.comкоторый должен принимать все электронные письма для любого поддомена на example.com ( *@*.example.com) и доставлять их на учетную запись mailman, а также отправлять электронные письма на любые учетные записи электронной почты (gmail, yahoo и т. д.), включая *@example.com. 1 размещенный обмен: exch11.hosted.comдля писем example.com ( *@example.com).

В этой настройке все работает, за исключением отправки писем с a.example.com на *@example.com( exch11.hosted.com). Если у меня есть example.comв файле mydomains.db, то письма a.example.comне отправляются *@example.comи доставляются локально. Если я изменю его на , *.example.comто письма отправляются *@example.comна , exch11.hosted.comно теперь не принимаются *@subdomain.example.comи выдается ошибка, что ретрансляция не разрешена (она не должна ретранслировать и доставлять на локальную учетную запись maildir).

Главное требование — чтобы a.example.com принимал почту для любого поддомена и доставлял письма для основного домена на exch11.hosted.com. Может ли кто-нибудь помочь мне или указать мне правильное направление?

Любая помощь приветствуется.

Спасибо.

main.cf:

command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mydestination = hash:/etc/postfix/mydomains
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
home_mailbox = Maildir/
smtpd_banner = mail.example.com

debug_peer_level = 2
debugger_command =
     PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
     xxgdb $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
virtual_alias_maps = hash:/etc/postfix/virtual, pcre:/etc/postfix/virtual.pcre
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtp_sasl_security_options = noplaintext
#smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender-access
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/inbound-access,permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
mailbox_size_limit = 25600000
transport_maps = hash:/etc/postfix/transport
message_size_limit = 20240000

virtual.pcre и виртуальный:

/(.*)@[^.]*\.example\.com$/ mailman

транспорт:

# demo
.demo.example.com   smtp:192.168.100.161:25
# demo mail
demo.example.com    smtp:192.168.100.161
# Demo2
.demo2.example.com  smtp:192.168.100.221:25
# demo2 domain
demo2.example.com   smtp:192.168.100.221

моидомены:

localhost       OK
mail.local  OK
example.com     OK

решение1

Прежде всего, я не уверен, сработает ли это, но надеюсь, что это поможет вам начать:

  1. Удалите example.com из mydomains, так как этот экземпляр postfix не обрабатывает почту для него напрямую.
  2. Добавьте virtual_alias_domains = .example.comэто, и это должно решить проблему с вашим поддоменом.
  3. Добавьте relay_domains = example.comи укажите явный транспорт для example.com, например:example.com :[exch11.hosted.com]

Связанный контент