CentOS 8 に Postfix メール サーバーをインストールして設定する方法

CentOS 8 に Postfix メール サーバーをインストールして設定する方法

Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無料のオープンソース MTA (メール転送エージェント) です。このガイドでは、CentOS 8 に Postfix をインストールして設定する方法を学習します。

ラボのセットアップ:

  • システム: CentOS 8 サーバー
  • IPアドレス: 192.168.1.13
  • ホスト名: server1.crazytechgeek.info (ドメイン名がサーバーの IP を指していることを確認してください)

ステップ1) システムを更新する

最初のステップは、システム パッケージが最新であることを確認することです。これを行うには、次のようにシステムを更新します。

# dnf アップデート

続行する前に、他の MTA (Sendmail など) が存在しないことも確認してください。存在すると、Postfix 設定との競合が発生します。たとえば、Sendmail を削除するには、次のコマンドを実行します。

# dnf 送信メールを削除

ステップ2) ホスト名を設定し、/etc/hostsを更新する

システムのホスト名を設定するには、以下の hostnamectl コマンドを使用します。

# ホスト名ctl ホスト名の設定 server1.crazytechgeek.info
# bash を実行する

さらに、/etc/hosts にシステムのホスト名と IP を追加する必要があります。

# vim /etc/hosts
192.168.1.13 サーバー1.crazytechgeek.info

ファイルを保存して終了します。

ステップ3) Postfixメールサーバーをインストールする

システム上で他の MTA が実行されていないことを確認した後、次のコマンドを実行して Postfix をインストールします。

# dnf postfixをインストール

Postfix Centos8 のインストール

ステップ4) Postfixサービスを起動して有効にする

Postfix を正常にインストールしたら、次のコマンドを実行して Postfix サービスを開始し、有効にします。

# systemctl postfix を起動する
# systemctl postfixを有効にする

Postfix のステータスを確認するには、次の systemctl コマンドを実行します。

# systemctl ステータス pos​​tfix 

Postfix のステータスチェックを開始 Centos8

素晴らしい、Postfix が稼働していることが確認できました。次に、ローカル マシンからサーバーにメールを送信するように Postfix を設定します。

ステップ5) mailxメールクライアントをインストールする

Postfix サーバーを設定する前に、mailx をインストールする必要があります。インストールするには、次のコマンドを実行します。

# dnf インストール mailx 

Mailx-CentOS8 のインストール

ステップ6) Postfixメールサーバーを設定する

Postfix 設定ファイルは /etc/postfix/main.cf にあります。設定ファイルにいくつか変更を加える必要があるので、お気に入りのテキスト エディターで開きます。

# vi /etc/postfix/main.cf

次の行を変更します。

ホスト名 = server1.crazytechgeek.info
私のドメイン = crazytechgeek.info
myorigin = $mydomain
## コメントを解除し、inet_interfaces を all に設定します##
inet_interfaces = すべて
## すべてに変更 ##
inet_protocols = すべて
## 注記 ##
#mydestination = $myhostname, localhost.$mydomain, localhost
## コメントを解除 ##
mydestination = $myhostname、localhost.$mydomain、localhost、$mydomain
## コメントを解除して IP 範囲を追加します##
マイネットワーク = 192.168.1.0/24, 127.0.0.0/8
## コメントを解除 ##
home_mailbox = メールディレクトリ/

完了したら、設定ファイルを保存して終了します。変更を有効にするには、postfix サービスを再起動します。

# systemctl postfixを再起動します

ステップ7) Postfixメールサーバーのテスト

設定が有効かどうかをテストするには、まずテスト ユーザーを作成します。

# ユーザー追加 postfixユーザー
# パスワード postfixuser

次に、次のコマンドを実行して、ローカル ユーザー pkumar から別のユーザー postfixuser にメールを送信します。

# telnet ローカルホスト SMTP
または # telnet localhost 25

Telnet サービスがインストールされていない場合は、次のコマンドを使用してインストールできます。

# dnf インストール telnet -y

前述のようにコマンドを実行すると、次のような出力が得られます。

[root@linuxtechi ~]# telnet ローカルホスト 25
127.0.0.1 を試行しています...
ローカルホストに接続しました。
エスケープ文字は '^]' です。
220 server1.crazytechgeek.info ESMTP ポストフィックス

上記の結果から、Postfix メールサーバーとの接続が正常であることが確認されました。次に、次のコマンドを入力します。

#ehlo ローカルホスト

出力は次のようになります。

250-server1.crazytechgeek.info
250-パイプライン
250サイズ 10240000
250-VRFY
250-ETRN
250-スタートルス
250-拡張ステータスコード
250-8ビット
250-DSN
250 SMTPUTF8

次に、mail from、rcpt to、data などオレンジ色で強調表示されているコマンドを実行し、最後に quit と入力します。

メール送信者:<pkumar>
250 2.1.0 OK
rcpt to:<postfixuser>
250 2.1.5 大丈夫
データ
354 データは <CR><LF> で終了します。<CR><LF>
こんにちは、私のメールサーバー(Postfix)へようこそ
。
250 2.0.0 Ok: B56BF1189BEC としてキューに追加されました
やめる
221 2.0.0 さようなら
外部ホストによって接続が閉じられました

次のように telnet コマンドを実行して、ローカル ユーザー pkumar から別のローカル ユーザー postfixuser にメールを送信します。

Telnet でメールを送信する Centos8

すべてが計画通りに進んだ場合、新しいユーザーのホーム ディレクトリで送信済みメールを表示できるはずです。

# ls /home/postfixuser/Maildir/new
1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
#

メールを読むには、次のように cat コマンドを使用します。

# cat /home/postfixuser/Maildir/new/1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info

read-postfix-email-linux を読む

Postfix メールサーバのログ

Postfix メール サーバーのメール ログは、/var/log/maillog ファイルに保存されます。リアルタイム ログを表示するには、次のコマンドを使用します。

# テール -f /var/log/maillog 

postfix-メールログ-centos8

Postfix メールサーバーのセキュリティ保護

クライアントと Postfix サーバー間の通信を常に保護することをお勧めします。これは、信頼できる機関からの SSL 証明書または自己署名証明書を使用して実現できます。このチュートリアルでは、openssl コマンドを使用して Postfix の自己署名証明書を生成します。

openssl はすでにシステムにインストールされていると想定していますが、そうでない場合は次の dnf コマンドを使用します。

# dnf インストール openssl -y

以下の openssl コマンドを使用して、秘密鍵と CSR (証明書署名要求) を生成します。

# openssl req -nodes -newkey rsa:2048 -keyout mail.key -out mail.csr

Postfix キー CSR CentOS8

次に、次の openssl コマンドを使用して自己署名証明書を生成します。

# openssl x509 -req -days 365 -in mail.csr -signkey mail.key -out mail.crt
署名OK
件名=C = IN、ST = ニューデリー、L = ニューデリー、O = IT、OU = IT、CN = server1.crazytechgeek.info、メールアドレス = root@linuxtechgeek
秘密鍵の取得
#

次に、秘密鍵と証明書ファイルを /etc/postfix ディレクトリにコピーします。

# cp mail.key mail.crt /etc/postfix

Postfix 設定ファイル内の秘密鍵と証明書ファイルへのパスを更新します。

# vi /etc/postfix/main.cf
………
smtpd_use_tls = はい
smtpd_tls_cert_file = /etc/postfix/mail.crt
smtpd_tls_key_file = /etc/postfix/mail.key
smtpd_tls_security_level = 5月
………

上記の変更を有効にするには、Postfix サービスを再起動します。

# systemctl postfixを再起動します

mailx クライアントを使用して、内部のローカル ドメインと外部ドメインにメールを送信してみます。

pkumar から postfixuser に内部ローカル メールを送信するには:

# echo "テストメール" | mailx -s "Postfix メールサーバからのテストメール" -r root@linuxtechi root@linuxtechi

メールを確認して読むには、次のコマンドを使用します。

# cd /home/postfixuser/Maildir/new/
#ll
合計 8
-rw------。 1 postfixuser postfixuser 476 11月12日 17:34 1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
-rw------。 1 postfixuser postfixuser 612 11月13日 02:40 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info
# 猫 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info

Postfix ユーザーのメールを読み取り CentOS8

postfixuser から外部ドメイン ([email protected]) にメールを送信するには:

# echo "外部テストメール" | mailx -s "Postfix メールサーバー" -r root@linuxtechi root@linuxtechi

注意: IP がどこにもブラックリストに登録されていない場合、外部ドメインへのメールは配信されます。そうでない場合は、spamhaus などのデータベースによって IP がブラックリストに登録されているというメッセージとともにメールが返送されます。

Postfixメールキューを確認する

キュー内のメールを一覧表示するには、mailq コマンドを使用します。

# メールq
メールキューは空です
#

仕上げる! Postfix の設定が機能しています。今のところはこれですべてです。このチュートリアルが参考になり、ローカル Postfix サーバーを簡単にセットアップできるようになることを願っています。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Javaは交換プロトコル経由で電子メールを送信します
  • PHP は SMTP プロトコルに基づいて電子メール送信サンプル コードを実装します。
  • Javaはソケットを使用してSMTPプロトコルを実装し、電子メールを送信します。
  • Ubuntuでメールサーバーを構築する方法のチュートリアル
  • メールプロトコルとサーバーの動作原理

<<:  Vite2.0の落とし穴

>>:  MySQLにおけるACIDトランザクションの実装原理の詳細な説明

推薦する

Linuxのファイルとフォルダの権限を操作する方法

Linux のファイル権限まず、現在のディレクトリ内のファイルの内容を確認しましょう。 ls -l ...

CSS 表示テーブルの適応的な高さと幅の問題の解決策

定義と使用法display プロパティは、要素が生成するボックスのタイプを指定します。例示するこの属...

CentOS7.6にMYSQL8.0をインストールする詳細な手順

1. 一般的に、CentOS では mariadb がデフォルトでインストールされているため、まず ...

MySQL マスタースレーブレプリケーションの実践の詳細説明 - GTID ベースのレプリケーション

GTIDベースのレプリケーション導入GTID ベースのレプリケーションは、MySQL 5.6 以降に...

win10 mysql 5.6.35 winx64 無料インストールバージョン設定チュートリアル

mysql 5.6.35 winx64無料インストールバージョン構成チュートリアルwin10、具体的...

ウェブサイトのテキストはまだデザインする必要がありますか?

多くの人が、ウェブサイト上のテキストはデザインする必要があるのか​​と疑問に思うかもしれません。多く...

DockerにTomcat8をインストールする方法

1. dockerでtomcat8をインストールする1. Docker HubでTomcatイメージ...

LinuxでJenkinsのパスワードを忘れる方法

1.Jenkinsのインストール手順: https://www.jb51.net/article/1...

CSS を使用して、画像に 3D の凸型と凹型のエフェクト (フレーム外に凸型、またはフレーム内に凹型) を実現します。

Ⅰ. 問題の説明: CSS を使用して画像の 3D 凸凹効果を実現します。 Ⅱ実施手順は以下のとお...

Vue のスロットリング関数使用時の落とし穴ガイド

序文一般的なビジネス シナリオでは、検索ボックスへの入力が完了した後、検索データを取得するために関連...

Docker を使用して Django プロジェクトをデプロイする方法の例

また、Dockerを使用してDjangoプロジェクトをデプロイするのも非常に簡単です。とても良いです...

Vueの学習手順

目次1. v-text (v-instruction name = "variable&q...

スタートアップ企業が丹念に作り上げた優れたウェブデザイン17選

スタートアップ企業は、型破りな仕事のやり方、ユニークなビジネスモデル、特徴的な製品やサービス、パーソ...

MySQL における datetime と timestamp の違いと選択

目次1 違い1.1 スペース占有1.2 表現範囲1.3 タイムゾーン2 テスト3つの選択肢MySQL...