第2章 Postfix SMTP サーバーのデプロイと設定


システム管理者は、Postfix などのメール転送エージェント (MTA) を使用してメールインフラストラクチャーを設定し、SMTP プロトコルを使用してホスト間でメールメッセージを転送できます。Postfix は、メールのルーティングと配信を行うサーバー側アプリケーションです。Postfix を使用して、ローカルメールサーバーの設定、null クライアントメールリレーの作成、複数のドメインの宛先としての Postfix サーバーの使用、検索用ファイルに代わる LDAP ディレクトリーの選択を行うことができます。

postfix パッケージは、/etc/postfix/ ディレクトリーに複数の設定ファイルを提供します。

メールインフラストラクチャーを設定するには、次の設定ファイルを使用します。

  • main.cf: Postfix のグローバル設定が含まれています。
  • master.cf: メール配信を実現するために、さまざまなプロセスとの Postfix の対話を指定します。
  • access: Postfix に接続できるホストなどのアクセスルールを指定します。
  • transport: メールアドレスをリレーホストにマッピングします。
  • aliases: ユーザー ID エイリアスを説明するメールプロトコルで必要な設定可能な一覧が含まれます。このファイルは、/etc/ ディレクトリーにあることに留意してください。

Postfix の主な機能:

  • 一般的なメール関連の脅威から保護するためのセキュリティー機能
  • 仮想ドメインおよびエイリアスのサポートを含むカスタマイズオプション

2.1. Postfix SMTP サーバーのインストールおよび設定

メールメッセージを受信、保存、配信するように Postfix SMTP サーバーを設定できます。システムのインストール時にメールサーバーパッケージが選択されていない場合、Postfix はデフォルトで利用できません。Postfix をインストールするには、以下の手順を実行します。

前提条件

手順

  1. Sendmail ユーティリティーを削除します。

    # dnf remove sendmail
    Copy to Clipboard Toggle word wrap
  2. Postfix をインストールします。

    # dnf install postfix
    Copy to Clipboard Toggle word wrap
  3. Postfix を設定するには、/etc/postfix/main.cf ファイルを編集し、以下の変更を加えます。

    1. デフォルトでは、Postfix は loopback インターフェイスでのみメールを受信します。特定のインターフェイスをリッスンするように Postfix を設定するには、inet_interfaces パラメーターをこれらのインターフェイスの IP アドレスに更新します。

      inet_interfaces = 127.0.0.1/32, [::1]/128, 192.0.2.1, [2001:db8:1::1]
      Copy to Clipboard Toggle word wrap

      すべてのインターフェイスをリッスンするように Postfix を設定するには、以下を設定します。

      inet_interfaces = all
      Copy to Clipboard Toggle word wrap
    2. gethostname() 関数によって返される完全修飾ドメイン名 (FQDN) とは異なるホスト名を Postfix が使用するようにしたい場合は、myhostname パラメーターを追加します。

      myhostname = smtp.example.com
      Copy to Clipboard Toggle word wrap

      たとえば、Postfix はこのホスト名を、処理するメールのヘッダーに追加します。

    3. ドメイン名が myhostname パラメーターのものと異なる場合は、mydomain パラメーターを追加します。

      mydomain = example.com
      Copy to Clipboard Toggle word wrap
    4. myorigin パラメーターを追加し、mydomain の値に設定します。

      myorigin = $mydomain
      Copy to Clipboard Toggle word wrap

      この設定では、Postfix はホスト名ではなく、ローカルで投稿されたメールの発信元としてドメイン名を使用します。

    5. mynetworks パラメーターを追加し、メールの送信が許可される信頼できるネットワークの IP 範囲を定義します。

      mynetworks = 127.0.0.1/32, [::1]/128, 192.0.2.1/24, [2001:db8:1::1]/64
      Copy to Clipboard Toggle word wrap

      インターネットなどの信頼できないネットワークのクライアントがこのサーバー経由でメールを送信できるようにするには、後のステップでリレー制限を設定する必要があります。

  4. main.cf ファイルの Postfix 設定が正しいか確認します。

    # postfix check
    Copy to Clipboard Toggle word wrap
  5. postfix サービスが起動時に開始できるように有効化し、開始します。

    # systemctl enable --now postfix
    Copy to Clipboard Toggle word wrap
  6. SMTP トラフィックがファイアウォールを通過することを許可し、ファイアウォールルールをリロードします。

    # firewall-cmd --permanent --add-service smtp
    # firewall-cmd --reload
    Copy to Clipboard Toggle word wrap

検証

  1. postfix サービスが実行していることを確認します。

    # systemctl status postfix
    Copy to Clipboard Toggle word wrap
    • オプション: 出力が停止し、待機中、またはサービスが実行されていない場合は、postfix サービスを再起動します。

      # systemctl restart postfix
      Copy to Clipboard Toggle word wrap
    • オプション: /etc/postfix/ ディレクトリーの設定ファイル内のオプションを変更した後、postfix サービスをリロードして、これらの変更を適用します。

      # systemctl reload postfix
      Copy to Clipboard Toggle word wrap
  2. システム上のローカルユーザー間のメール通信を確認します。

    # echo "This is a test message" | mail -s <subject> <user@mydomain.com>
    Copy to Clipboard Toggle word wrap
  3. メールサーバーが外部 IP 範囲からのメールを外部ドメインに中継していないことを確認するには、以下の手順に従います。

    1. mynetworks で定義したサブネット内にないクライアントにログインします。
    2. メールサーバーを使用するようにクライアントを設定します。
    3. メールサーバーの mydomain で指定したドメイン以外のメールアドレスにメールを送信してみます。たとえば、non-existing-user@redhat.com にメールを送信してみます。
    4. /var/log/maillog ファイルを確認します。

      554 Relay access denied - the server is not going to relay.
      250 OK or similar - the server is going to relay.
      Copy to Clipboard Toggle word wrap

トラブルシューティング

  • エラーが発生した場合は、/var/log/maillog を確認してください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat