自分でインターネットにメールを送信せず、配信用の別サーバ(Postfixでは「スマートホスト」と呼ばれます)にメールを配送させるための設定をメモしておきます。

/etc/postfix/main.cf

myhostname = ubuntu804
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$myhostname, localhost
relayhost = 192.168.1.250
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
inet_interfaces = all
  • myhostnameは先方(スマートホスト)に伝えられるホスト名なので、hostname で返ってくる名前をセットしておいたほうが無難です。当たり前の話ですが、relayhost と同じホスト名は指定できません。
  • myorigin で指定した /etc/mailname のなかにメールで使用するドメイン名を入れておきます。Satake Studio の場合は、5-55.jp です。
  • mydestination は、ここが最終のドメイン名を入れるところなので、迂闊にここにドメイン名を入れてしまうと、名前解決でエラーを返すことになります。メール送信はすべて別のサーバに任せる前提なので、ここには localhost 関係だけ書いておきます。
  • relayhost に、実際に配信するサーバ(スマートホスト)を指定します。普通は、mail.5-55.jp というようなドメイン名を指定するところですが、イントラネット上でドメイン名を指定してしまうと、内向きのDNS設定をしていない場合、ルータの WANアドレスに転送がかかってしまうので、IPアドレス直指定にしてあります。

これで、user というユーザでログインしてメールすると、From: user@5-55.jp から 192.168.1.250 を経由してメールが送信されます。WordPress等の WEBアプリのお問合せフォームからメールを送ると、www-data@5-55.jp からメールが送られます。

※ 受信は基本的に使わない設定ですが、送信エラーになった場合は受信メールがユーザのホーム・ディレクトリに作成されます。(www-data の場合は、/var/www などがホームになっていると思うので、パーミッションを www-data に出しておくこと)

 
◆参考