検索

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

download PDF

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

前提条件

手順

  1. Sendmail ユーティリティーを無効にして削除します。

    # yum remove sendmail
  2. Postfix をインストールします。

    # yum install postfix
  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]

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

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

      myhostname = <smtp.example.com>

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

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

      mydomain = <example.com>
    4. myorigin パラメーターを追加し、mydomain の値に設定します。

      myorigin = $mydomain

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

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

      mynetworks = 127.0.0.1/32, [::1]/128, 192.0.2.1/24, [2001:db8:1::1]/64

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

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

    $ postfix check
  5. postfix サービスが起動時に開始できるように有効化し、開始します。

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

    # firewall-cmd --permanent --add-service smtp
    
    # firewall-cmd --reload

検証

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

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

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

      # systemctl reload postfix
  2. システム上のローカルユーザー間の電子メール通信を確認します。

    # echo "This is a test message" | mail -s <SUBJECT> <user@mydomain.com>
  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.

トラブルシューティング

  • エラーが発生した場合は、/var/log/maillog を確認してください。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.