Domain1.comとdomain2.comの2つのドメイン用にPostfixメールサーバーを設定しました。
私の構成では、domain1には、メールをローカルユーザー(ルート、ウェブマスターなど)に転送するためのMaildirとエイリアスを持つ仮想ユーザーといくつかの小さなメーリングリストの両方があります。また、非ローカルドメインへの仮想マッピングもいくつかあります。
一方、Domain2には、主にdomain1の対応する「ユーザー」への仮想エイリアスマッピングのみがあります(たとえば、root @ domain2.comへのメールは[email protected]に転送する必要があります)。
私の問題は、現在、Postfixがシステムに存在しない存在するユーザーに対してもメールを受け入れることです。既存のユーザーと/ etc/aliasesへのメールは正常に機能します。 Postfixのドキュメントには、mydestinationとvirtual_mailbox_mapsの両方で同じドメインを指定してはならないと記載されていますが、mydestinationを空白として指定すると、postfixはvirtual_mailbox_mapsに対して受信者を検証しますが、domain1.comのローカルエイリアスのメールを拒否します。
/etc/postfix/main.cf:
myhostname = domain1.com
mydomain = domain1.com
mydestinations = $myhostname, localhost.$mydomain, localhost
virtual_mailbox_domains = domain1.com
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_mailbox_base = /home/vmail/domains
virtual_alias_domains = domain2.com
virtual_alias_maps = hash:/etc/postfix/virtual
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
virtual_transport = dovecot
/ etc/postfix/virtual:
domain1.com right-hand-content-does-not-matter
firstname.lastname user1
[more aliases..]
domain2.com right-hand-content-does-not-matter
@domain2.com @domain1.com
/ etc/postfix/vmailbox:
[email protected] user1/Maildir
[email protected] user2/Maildir
/ etc/aliases:
root: :include:/etc/postfix/aliases/root
webmaster: :include:/etc/postfix/aliases/webmaster
[etc..]
このアプローチは正しいですか、それともDovecot(仮想)MaildirとPostfixエイリアスでPostfixを設定する他の方法がありますか?
はい、mydestination
とvirtual_mailbox_maps
の両方にドメインを含めることはできません。これを克服するには、main.cf
にmydestination
を設定する必要があります
mydestination = localhost.$mydomain, localhost
と/etc/postfix/virtual
[email protected] root@localhost
[email protected] webmaster@localhost
この設定では、root @ domain1.comへの電子メールはroot @ localhostにリダイレクトされます。 localhostがmydestination
にリストされているため、postfixは/etc/aliases
にエイリアスを適用します