仕事でも個人でも、SMTPサーバを利用する機会ができたので、
デフォルトのSendmailではなく、Postfixをインストールして
設定してみたいと思い、Postfixに挑戦。
基本的には、PostfixのSMTPサーバの設定を行った時のメモになる。
Postfixのインストール
# yum install postfix
Postfixの設定
Postfixの設定ファイルは、/etc/postfixディレクトリ以下にまとめられている。
このディレクトリにmain.cfというファイルを以下の通りに編集した。
# vi /etc/postfix/main.cf
[patch]
myhostname = ASPMX.L.GOOGLE.COM
mydomain = karakuridou.net
inet_interfaces = localhost
mynetworks = 127.0.0.1
relay_domains = $mydestination
mydestination = localhost
sender_canonical_maps = hash:/etc/postfix/canonical
header_checks = regexp:/etc/postfix/header_checks
[/patch]
myhostname
メールシステムのインターネットホスト名。
karakuridou.netはGoogle Appsを使っているのでGoogleを指定。
mydomain
メールシステムのインターネットドメイン名。
これは、メールを送信するドメイン名を指定。
inet_interfaces
メールを受け取るネットワークのインターフェースアドレス。
今回はメールの送信のみのため、localhostを指定
mynetworks
他のサーバからの中継範囲を指定する。
今回は、他のサーバは無いので127.0.0.1を指定
mydestination
メール配送 transport を使って配送されるドメインのリスト。
今回は、送信のみのため、localhostを指定。
relay_domains
メールをリレーしようとする配送先のドメイン。
$mydestinationで指定した設定と同じになる。
sender_canonical_maps
ヘッダ送信者アドレスに対する、オプションのアドレスマッピング検索テーブル。
Wordpressから送られたメールのReturn-Pathが apache@localhost.localdomain に
なっているのを修正するために利用。
header_checks
メールのヘッダー情報にあるローカルな情報を削除するために利用
Receivedヘッダーの削除
Receivedヘッダーには、SMTPサーバでどのMTAを使っているか、
などの情報が記載されてしまうため、削除しています。
# vi /etc/postfix/header_checks
[patch]
/^Received:/ IGNORE
[/patch]
Return-Pathのアドレス変更
今回は、apache@localhost.localdomainを
このドメインに存在するアドレスに書き換えました。
# vi /etc/postfix/canonical
[patch]
apache@localhost.localdomain ????@karakuridou.net
[/patch]
SPFの設定
今回は、ValuedomainとServerManVPSの組み合わせでSPFの設定を行いました。
初期の状態は、 Received-SPFは「neutral」でした。
これは、Return-Pathが「apache@localhost.localdomain」になっているためでした。
この問題は、Return-Pathのアドレスを変更することで解消しました。
Return-Pathを設定後の判定は、「softfail」になりました。
これは、メール送信したサーバのIPアドレスからkarakuridou.netがDNSで引くことができなかったためでした。
ですので、DNSの逆引き設定をしました。
幸い、ServerManVPSは9月度のアップデートで逆引きができるようになっていたので、
管理ツールから簡単に設定を行うことができました。
これで、再度メールを送信したところSPFの結果は「Pass」にすることに成功しました。
DNSサーバの逆引き設定は、レンタルサーバーなどのサービスで利用できない場合もありますが、
マルチドメインなどで運用している場合には自前でDNSサーバを立てる必要があります。
ちなみにServerManVPSで設定できる、逆引きレコードは1つです。
そのうち、DNSサーバにも挑戦してみよう。
参考
Postfix 基本設定
@itの記事
http://akira.matrix.jp/?p=84
http://www.crimson-snow.net/hmsvr/fedora/maild/postfix.html