Postfix:如何使别名适用于虚拟域?

Jon*_*han 5 smtp postfix mac-osx-server alias

我正在尝试设置本地邮件服务器。我运行 Mac OS X Server 10.6 Snow Leopard,它使用 Postfix 作为服务器。我使用 GUI 设置服务器,并通过终端进行所有虚拟设置。

情况:服务器位于域中,我们称其为“domain.com”。我有多个虚拟别名,现在让我们说“alias.com”。我在服务器上有一个用户“postmaster”。

我的目标:我想设置一些适用于所有域/别名的别名(postmaster、root、mailer-daemon 等),而不必每次添加别名域时都进行设置。

总结/关键问题:如何设置自动适用于所有虚拟域的别名?

当前进度:使用当前配置,我收到所有发往 root@domain.com、postmaster@domain.com 等的消息...@domain.com。但是当我向 root@alias.com(或 postmaster@alias.com)发送消息时,消息被返回。

错误信息:

Aug 17 23:53:54 home postfix/smtpd[11903]: connect from SERVER[IP]
Aug 17 23:53:54 home postfix/smtpd[11903]: NOQUEUE: reject: RCPT from SERVER[IP]: 550 5.1.1 <postmaster@alias.com>: Recipient address rejected: User unknown in virtual alias table; from=<FROM> to=<postmaster@alias.com> proto=ESMTP helo=<SERVER>
Aug 17 23:53:55 home postfix/smtpd[11903]: disconnect from SERVER[IP]
Run Code Online (Sandbox Code Playgroud)

我的配置:

bash-3.2# postconf -n
virtual_alias_domains = $virtual_alias_maps hash:/etc/postfix/virtual_domains
virtual_alias_maps = hash:/etc/postfix/virtual_users
Run Code Online (Sandbox Code Playgroud)

/etc/postfix/virtual_domains 的内容:

alias.com             allow
Run Code Online (Sandbox Code Playgroud)

/etc/postfix/virtual_users 的内容:

jonathan@alias.com    jonathan
info@alias.com        jonathan
support@alias.com     jonathan
Run Code Online (Sandbox Code Playgroud)

/etc/aliases 的内容:

root:                 postmaster
MAILER-DAEMON:        postmaster

bin:                  root
daemon:               root
named:                root
nobody:               root
uucp:                 root
www:                  root
ftp-bugs:             root
postfix:              root

manager:              root
dumper:               root
operator:             root
abuse:                postmaster

decode:               root
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索了很多,但我找不到真正的解决方案。我希望你们想出一些天才计划:-)

谢谢!乔纳森

Jon*_*han 8

我从一个 tweep得到了这个很棒的链接,它运行得很好!如果您正在寻找答案,这是我的解决方案。(您需要将其与我第一篇文章中的 /etc/aliases 结合起来,此代码段仅适用于虚拟域别名。)

配置

virtual_alias_maps = regexp:/etc/postfix/virtual_users_global hash:/etc/postfix/virtual_users
Run Code Online (Sandbox Code Playgroud)

/etc/postfix/virtual_users_global

# Short version:

/^(postmaster|root|MAILER-DAEMON|abuse)@/   postmaster
/^(bin|daemon|named|nobody|uucp|www|ftp-bugs|postfix|manager|dumper|operator|decode)@/  root

# Or the long version:

/^postmaster@/         postmaster
/^root@/               postmaster
/^MAILER-DAEMON@/      postmaster

/^bin@/                root
/^daemon@/             root
/^named@/              root
/^nobody@/             root
/^uucp@/               root
/^www@/                root
/^ftp-bugs@/           root
/^postfix@/            root

/^manager@/            root
/^dumper@/             root
/^operator@/           root
/^abuse@/              postmaster

/^decode@/             root
Run Code Online (Sandbox Code Playgroud)