![Postfix 配置 - 子域和域的不同服务器](https://linux22.com/image/24038/Postfix%20%E9%85%8D%E7%BD%AE%20-%20%E5%AD%90%E5%9F%9F%E5%92%8C%E5%9F%9F%E7%9A%84%E4%B8%8D%E5%90%8C%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我有以下设置: 1 个 postfix 服务器:a.example.com
需要接受 example.com ( *@*.example.com
) 上任何子域的所有电子邮件,并将电子邮件发送到邮递员帐户,并将电子邮件发送到任何电子邮件帐户(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。有人可以帮助我或指出我正确的方向吗?
欢迎任何帮助。
谢谢。
主要.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
首先,我不确定这是否有效,但我希望它能帮助您入门:
- 从 mydomains 中删除 example.com,因为此 postfix 实例不直接处理它的邮件。
- 添加
virtual_alias_domains = .example.com
此内容应该可以解决您的子域问题 - 添加
relay_domains = example.com
并指定 example.com 的显式传输,例如:example.com :[exch11.hosted.com]