- As is usual -

[Postfix]aliasesに設定しても配信先が変わらない

Creation date: 2011-02-09 02:07:40 +0900 JST
Updated: 2011-02-09 02:07:40 +0900 JST

Category: Postfix
Tags : aliases, DNS, MTA

どうも、こんにちわ。

いままでは、デフォルトのホスト名でサーバーを利用していましが、つい先日(2010年12月21日)、さくらVPSのサービスに機能追加が行われDNS逆引き設定ができるようになり、早速DNSの逆引き設定しました。
つい先日って…もう2ヶ月も前ですね。この記事書き始めたのが1月だったので。

DNS逆引き設定をしたので、MTAの設定を変更する必要が出てきたのですが、ちょっとハマってしまったのでメモしておきます。といっても私がしっかりとドキュメントを読んでおけばよかったのですが…

運用

Web部分はVPSで運用し、メール部分はGoogle Appsで運用し、日々サーバー内で送信されるメール(Logwatchなど)をGoogle Appsのメールアドレスへ転送して確認しています。DNSの逆引き設定前から aliases で root 宛のメールを転送していました。
MTAにはSendmailを使用

変更内容

DNSの逆引きホスト名の変更
MTA : SendmailからPostfixへ変更 (最終的に変更)

変更後の症状

root へのメールを Google Apps のアドレスへ転送するようにaliasesへ設定したが配信先が変わらない。

しばらくSendmailの設定を変更しどうにか解決しようと試みましたが、どうにも私では解決できないと判断してPostfixへ変更。
Postfixをひと通り設定後テストメールを送ってもいまいちうまくいかない。

Postfix 設定(解決前) 主要部分のみ

myhostname = example.com
mydomain = example.com
myorigin = $mydomain
mydestination = [設定値なし]
smtp_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtp_sasl_password_maps = hash:/etc/postfix/saslpass
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
message_size_limit = 10485760

Postfix 設定(解決後) 主要部分のみ

myhostname = example.com
mydomain = example.com
myorigin = localhost
mydestination = localhost.$mydomain, localhost
smtp_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtp_sasl_password_maps = hash:/etc/postfix/saslpass
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
message_size_limit = 10485760

原因

aliases の適用されるタイミングを認識していなかったためでした。

aliases が適用されるタイミングは、ローカルに配信される際に適用されます。
ローカルへの配信をせず、直接MTAから外へ投げると aliases の設定は適用されず、配信されることになるようです。
aliases の設定を適用したければ、ローカルへ一度配信すれば問題ないでしょう。
ひとつ学ぶことができたので良しとしときましょう!