
У меня следующая настройка: 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
Прежде всего, я не уверен, сработает ли это, но надеюсь, что это поможет вам начать:
- Удалите example.com из mydomains, так как этот экземпляр postfix не обрабатывает почту для него напрямую.
- Добавьте
virtual_alias_domains = .example.com
это, и это должно решить проблему с вашим поддоменом. - Добавьте
relay_domains = example.com
и укажите явный транспорт для example.com, например:example.com :[exch11.hosted.com]