Postfix

標準的な設定例 - Postfix解説文書

原文(英語)はこちら


この文書の目的

この文書では一般的なPostfixの設定方法を多数示しています。この文書は、基本的な設定の文書で説明している基本的な設定手順にしたがった後に読むべきものです。特に、Postfixがまだローカルメール送信とローカルメール配送ができる状態になっていないときは、この文書の内容に進んではいけません。

この文書の最初の部分では、各問題を解決するための標準的な設定方法を示します。

この文書の2番目の部分では、特定の環境にあるホストで行う追加設定について示します。

インターネットに接続されたスタンドアロンホスト上でPostfixを運用する

インターネットに直接接続できるスタンドアロンマシンであれば、Postfix はそのままで問題なく動作するはずです。少なくとも、http://www.postfix.org/ から Postfix のソースコードをダウンロードした場合は、そのようにインストールされます。

コマンド「postconf -n」を使って、main.cf により上書きされる設定を確認できます。いくつかのパス名の設定に加えて、BASIC_CONFIGURATION_README文書では説明されていないいくつかの設定をスタンドアロン ボックスに行う必要があります。

/etc/postfix/main.cf:
    # これを指定するかどうかは任意: メールを user@hostname ではなく user@domainname で送る
    myorigin = $mydomain

    # これを指定するかどうかは任意: NAT/プロキシの外部アドレスを指定する
    proxy_interfaces = 1.2.3.4

    # 選択肢1: 他のホストからのメールを転送しない
    mynetworks_style = host
    relay_domains

    # 選択肢2: ローカルクライアントからのメールだけを転送する
    mynetworks = 192.168.1.0/28
    relay_domains

該当する場合は、「インターネット上で有効はホスト名を持たないホスト上でPostfixを運用する」の設定も参照してください。

ヌルクライアント上でPostfixを運用する

ヌルクライアントとはメールの送信だけを行うマシンのことをいいます。ネットワークからのメールを受け取ることもなく、ローカルにいかなるメールも配信しません。通常、ヌルクライアントはPOP、IMAP、NFSを使ってメールボックスにアクセスします。

以下の例ではインターネットドメイン名が「example.com」で、マシン名が「hostname.example.com」であることを想定しています。例によって、初期設定のままではないパラメータだけを示しています。

1: /etc/postfix/main.cf:
2:    myhostname = hostname.example.com
3:    myorigin = $mydomain
4:    relayhost = $mydomain
5:    inet_interfaces = loopback-only
6:    mydestination = 

解説

次にメールホストの例を示します。このマシンは「user@example.com」のメールアドレスでメールを送り、「user@example.com」だけでなく「user@hostname.example.com」の最終的な宛先にもなっています。

 1: DNS:
 2:   example.com    IN    MX  10 mailhost.example.com.
 3:
 4: /etc/postfix/main.cf:
 5:    myorigin = $mydomain
 6:    relayhost = $mydomain
 4:    relayhost = $mydomain
 5:    inet_interfaces = loopback-only
 6:    mydestination = 

ローカルネットワークでPostfixを運用する

この節では1つのメインサーバとメールを送受信するその他複数のシステムがあるローカルエリア・ネットワークについて記します。例によって、インターネットドメイン名は「example.com」であることを想定しています。すべてのシステムはメールを「user@example.com」のメールアドレスでメールを送り、「user@hostname.example.com」のアドレスでメールを受信するよう設定されています。またメインサーバは「user@example.com」宛てのメールも受け取ります。このメインサーバはmailhost.example.comと呼ぶことにします。

「user@example.com」のアドレスでメールを送る場合の欠点は、「root」およびその他システムアカウント用のメールも中央のメールホストに送られてしまう点です。これに対する可能な解決策は以下に記す「

  • 一部アカウント宛てメールだけをローカル配信する」を参照してください。
  • 例によって、ここに示しているのは初期設定のままではないパラメータだけです。

    まず、メールホストではない、より単純なマシンの設定を示します。 このマシンは「user@example.com」のアドレスでメールを送り、「user@hostname.example.com」の最終的な送信先になっています。

    1: /etc/postfix/main.cf:
    2:    myorigin = $mydomain
    3:    mynetworks = 127.0.0.0/8 10.0.0.0/24
    4:    relay_domains =
    5:    # 設定するかどうかは任意: ローカル宛てではないメールはすべてmailhostに転送する
    6:    relayhost = $mydomain
    

    解説


    トップページに戻る