8.4. すべての電子メールをメールリレーに転送するように Postfix を設定する
すべての電子メールをメールリレーに転送する場合は、Postfix サーバーを Null クライアントとして設定できます。この設定では、Postfix はメールを別のメールサーバーに転送するだけで、メールの受信はできません。
前提条件
- root アクセスがある。
-
サーバーに
postfix
パッケージがインストールされている。 - メールを転送するリレーホストの IP アドレスまたはホスト名がある。
手順
Postfix がローカルの電子メール配信を受け入れ、それが Null クライアントになるのを防ぐには、
/etc/postfix/main.cf
ファイルを編集し、以下の変更を加えます。mydestination
パラメーターを空の値に等しくなるように設定して、すべてのメールを転送するように Postfix を設定します。mydestination =
この設定では、Postfix サーバーはメールの宛先ではなく、null クライアントとして機能します。
Null クライアントからメールを受信するメールリレーサーバーを指定します。
relayhost = <[ip_address_or_hostname]>
リレーホストはメール配信を行います。
<ip_address_or_hostname>
を角括弧で囲みます。メールを配信するために、ループバックインターフェイスでのみリッスンするように Postfix メールサーバーを設定します。
inet_interfaces = loopback-only
Postfix がすべての送信メールの送信者ドメインをリレーメールサーバーの企業ドメインに書き換えるには、以下を設定します。
myorigin = <relay.example.com>
ローカルメール配信を無効にするには、設定ファイルの最後に次のディレクティブを追加します。
local_transport = error: local delivery disabled
mynetworks
パラメーターを追加して、Postfix が 127.0.0.0/8 IPv4 ネットワークと [::1]/128 IPv6 ネットワークから送信されたローカルシステムからの電子メールをメールリレーサーバーに転送するようにします。mynetworks = 127.0.0.0/8, [::1]/128
main.cf
ファイルの Postfix 設定が正しいか確認します。$ postfix check
postfix
サービスを再起動して変更を適用します。# systemctl restart postfix
検証
電子メール通信がメールリレーに転送されていることを確認します。
# echo "This is a test message" | mail -s <SUBJECT> <user@example.com>
トラブルシューティング
-
エラーが発生した場合は、
/var/log/maillog
を確認してください。
関連情報
-
/etc/postfix/main.cf
設定ファイル