macでpostfixの設定

Mac OS X にはデフォルトで postfix がインストールされているので、これを使う。設定ファイルは /etc/postfix 以下にあります。

設定ファイル

postfixのメール転送設定ファイル。デフォで大体設定されているので、ちょっと変更すればOK。ここでは、ドメインexample.com メールサーバを mail.example.com とします。

[main.cf]
# ホスト名とドメインの設定
myhostname = mail.example.com
mydomain = example.com

# user@example.com というアドレスにしたいので、上で設定したドメインをここに設定。
myorigin = $mydomain

# 宛先アドレスの@以降の部分で、自分が受け取るものを書きます。
# それ以外は拒否されます。
mydestination = localhost, $mydomain

# 待ち受けるアドレスなどを書きます。外部のサーバからメールを受信するならばall。
# macではデフォルト localhost となっているため、
# サーバホスト自身が送信したメールしか受信できなくなっています。
inet_interfaces = all

# 接続を許可するSMTPクライアントを定義します。
# サーバーからしか送信しないのであればhostでOK。
# クライアントPCとかからSMTPサーバとして使いたいなら別設定が必要。
mynetworks_style = host

macのデフォルトでは、main.cfの後の方に まとめて設定してあったりするので注意。最初の定義で設定しても上書きされてしまい、さらに起動時に警告がでます。

そのた、master.cf という postfix のプロセス定義ファイルがありますが、tls とか使わないのであれば特にいじる必要なし。

起動設定

Tigerでは何故か起動スクリプトが無くなってしまったそうです。(参考:http://earlybirds.ddo.jp/namahage/inegalog/article.php?id=15#tigerstart)起動スクリプトを作ってくれた人が居るので、それを拝借。http://www.david-reitter.com/software/osxpostfix.html#tiger これの "Download the file Postfix." てとこから持ってくる。

ダウンロードしたファイルを展開して、中にあるPostfixディレクトリを/System/Library/StartupItems/ に コピー。/etc/hostconfig に MAILSERVER=-YES- を追加して終了。

alias

メールアドレスのエイリアスの設定を行います。webadminとかpostmasterとか当てのメールを全部まとめる。デフォルトで大体まとまっているので、必要なものがあれば追加。忘れちゃいけないのが、root 当てのアドレスを管理者に転送。/etc/aliases を編集します。

root:           admin@example.com
・・・

変更した内容を反映させるには newaliases コマンドを引数無しで実行。

その他

他のSMTPサーバから、自分の user@example.com 当てのメールを受け取るために、example.com ドメインの MX レコードに、mail.example.com が登録されていないといけません。

はまったのが、mail.example.com は CNAME ではだめで、Aレコードである必要があります。CNAMEになっていると、DNSはお節介にも実際のAレコードを探してきて、それを返します。
そのため、正しくメールが届かないことがあります。

DNSの設定を変更しても、反映されるまで1日くらいかかるので慎重に。。