ウェブサイト検索

null クライアント構成を使用して Postfix メール サーバー (SMTP) をセットアップする方法 - パート 9


今日利用できるオンライン通信方法は数多くありますが、電子メールは、世界の端から端へ、または隣のオフィスに座っている人にメッセージを届ける実用的な方法であり続けています。

次の図は、送信者から始まり、メッセージが受信者の受信箱に届くまでの電子メール転送プロセスを示しています。

これを可能にするために、舞台裏でいくつかのことが起こります。電子メール メッセージをクライアント アプリケーション (Thunderbird、Outlook、またはGmailYahoo! メールなどの Web メール サービス) からメール サーバーに配信するには、そこから宛先サーバー、そして最終的に目的の受信者に至るまで、SMTP (簡易メール転送プロトコル) サービスが各サーバーに設置されている必要があります。

この記事では、RHEL 7 でローカル ユーザー (他のローカル ユーザーにも) が送信した電子メールが転送される SMTP サーバーを設定する方法を説明するのはそのためです。アクセスを容易にするために中央メールサーバーに接続します。

試験の要件では、これはヌル クライアントセットアップと呼ばれます。

私たちのテスト環境は、発信元メール サーバーと中央メール サーバーまたはリレーホストで構成されます。


Original Mail Server: (hostname: box1.mydomain.com / IP: 192.168.0.18) 
Central Mail Server: (hostname: mail.mydomain.com / IP: 192.168.0.20)

名前解決には、両方のボックスでよく知られている /etc/hosts ファイルを使用します。


192.168.0.18    box1.mydomain.com       box1
192.168.0.20    mail.mydomain.com       mail

Postfix とファイアウォール/SELinux のインストールに関する考慮事項

まず、(両方のサーバーで) 以下を行う必要があります。

1. Postfix をインストールします。


yum update && yum install postfix

2. サービスを開始し、今後の再起動時に実行できるようにします。


systemctl start postfix
systemctl enable postfix

3. ファイアウォールを通過するメール トラフィックを許可します。


firewall-cmd --permanent --add-service=smtp
firewall-cmd --add-service=smtp

4. box1.mydomain.comPostfix を構成します。

Postfix のメイン設定ファイルは /etc/postfix/main.cf にあります。このファイル自体は、プログラムの設定の目的を説明するコメントが含まれているため、優れたドキュメント ソースになります。

簡潔にするために、編集する必要がある行のみを表示しましょう (はい、元のサーバーでは mydestination を空白のままにする必要があります。そうしないと、電子メールは中央のメール サーバーではなくローカルに保存されます)それが私たちが実際に望んでいることです):


myhostname = box1.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
inet_interfaces = loopback-only
mydestination =
relayhost = 192.168.0.20

5. mail.mydomain.com で Postfix を設定します。


myhostname = mail.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.0.0/24, 127.0.0.0/8

まだ行っていない場合は、関連する SELinux ブール値を永続的に true に設定します。


setsebool -P allow_postfix_local_write_mail_spool on

上記のSELinux ブール値により、Postfix が中央サーバーのメール スプールに書き込むことができるようになります。

5. 変更を有効にするために、両方のサーバーでサービスを再起動します。


systemctl restart postfix

Postfix が正しく起動しない場合は、次のコマンドを使用してトラブルシューティングを行うことができます。


systemctl –l status postfix
journalctl –xn
postconf –n

Postfix メールサーバーのテスト

メール サーバーをテストするには、mail や mutt などの任意のメール ユーザー エージェント (最も一般的には略してMUA として知られています) を使用できます。

mutt は個人的なお気に入りなので、box1 でそれを使用し、既存のファイル (mailbody) を使用してユーザー tecmint に電子メールを送信します。 .txt) をメッセージ本文として使用します。


mutt -s "Part 9-RHCE series" [email  < mailbody.txt

次に、中央メール サーバー (mail.mydomain.com) に移動し、ユーザー tecmint としてログオンし、電子メールが受信されたかどうかを確認します。


su – tecmint
mail

電子メールが受信されなかった場合は、root のメール スプールに警告またはエラー通知がないか確認してください。 nmap コマンドを使用して、SMTP サービスが両方のサーバーで実行されていること、および中央メール サーバーでポート 25 が開いていることを確認することもできます。


nmap -PN 192.168.0.20

まとめ

この記事で説明するメール サーバーリレー ホストのセットアップは、すべてのシステム管理者が持つ必要のある必須スキルであり、より複雑なサーバーを理解してインストールするための基礎となります。いくつかの (数百または数千の) 電子メール アカウントのライブ ドメインをホストするメール サーバーなどのシナリオです。

(この種のセットアップには DNS サーバーが必要であることに注意してください。これについてはこのガイドの範囲外です)。ただし、次の記事を使用してDNS サーバーをセットアップできます。

  1. CentOS/RHEL 07 でキャッシュのみの DNS サーバーをセットアップする

最後に、Postfix の設定ファイル (main.cf) とプログラムのマニュアル ページについてよく理解しておくことを強くお勧めします。疑問がある場合は、以下のフォームを使用するか、フォーラム Linuxsay.com を使用して、遠慮なくお問い合わせください。世界中の Linux 専門家からほぼ即時にサポートが得られます。