Centos7.9 で独立したメール サーバーを構築するための詳細な手順

Centos7.9 で独立したメール サーバーを構築するための詳細な手順

序文

会社から送信される zabbix 監視アラーム メールの量が多すぎるため、使用していた Tencent の企業メールボックスでは送信頻度が多すぎるためにメールが届かなかったり、送信を拒否されたりすることがあるため、現在は自社構築のイントラネット メール サーバーを使用して zabbix アラーム メールを送信しています。

イントラネットのアラームメールサーバーは、他のメールボックス(Tencent 企業メールボックス、NetEase メールボックスなど)にメールを送信することしかできず、他のメールボックスからの返信を受信することはできません。返信を受信するには、ドメイン名を購入し、A レコードと MX レコードを構成する必要があります。このドキュメントではこれについては説明しません。

1. イントラネットDNS AレコードとMXレコードを構成する

私がイントラネットで使用しているドメイン名ホストは、シンプルで便利、そして多様に使用できる dnsmasq プロキシ ソフトウェアです。詳細な設定については他のドキュメントを参照してください。

[root@dns_proxy ~]# grep liqing /etc/dnsmasq.conf
アドレス=/mail.liqing-test.top/192.168.2.100
mx-host=liqing-test.top,mail.liqing-test.top,10

2. メールサーバの初期化設定

1. ホスト名を変更する

[root@localhost /]# hostnamectl --static set-hostname mail.liqing-test.top|bash

2. ファイアウォールとSELinuxをオフにする

[root@mail /]# systemctl stop iptables && systemctl disabled iptables
[root@mail /]# systemctl stop firewalld && systemctl disabled firewalld
[root@mail /]# setenforce 0

3. 時刻同期を有効にする

[root@mail /]# yum -y インストール ntpdate && ntpdate ntp.aliyun.com

4. ソフトウェアをインストールする

[root@mail /]# yum -y postfix dovecot cyrus-sasl-* mailx をインストールします

3. 設定ファイルを変更する

注: このドキュメントでは、設定ファイルのバックアップ操作は自分で実行します。

1 postfixの設定

[root@mail /]# cat /etc/postfix/main.cf
mail_owner = ポストフィックス
myhostname = mail.liqing-test.top
mydomain = liqing-test.top
myorigin = $mydomain
inet_interfaces = すべて
inet_protocols = ipv4
mydestination = $myhostname、localhost.$mydomain、localhost、$mydomain、mail.$mydomain、www.$mydomain、ftp.$mydomain
ローカル受信者マップ =
マイネットワーク = 0.0.0.0/0
リレードメイン = $mydestination
alias_maps = ハッシュ:/etc/aliases
alias_database = ハッシュ:/etc/aliases
smtpd_banner = $myhostname ESMTP

# 一番下に smtpd_sasl_type = dovecot を追加します
smtpd_sasl_path = プライベート/認証
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = はい
smtpd_sasl_security_options = 匿名なし
broken_sasl_auth_clients = はい
smtpd_recipient_restrictions = permit_mynetworks、permit_auth_destination、permit_sasl_authenticated
smtpd_client_restrictions = 許可_sasl_authenticated

2 dovecotの設定

2.1 監視プロトコルを構成する:

[root@mail /]# cat /etc/dovecot/dovecot.conf
プロトコル = imap pop3 lmtp
聞く = *
ログイン信頼ネットワーク = 0.0.0.0/0
辞書{
}
!conf.d/*.conf を含めます
!include_try ローカル.conf

2.2 ログイン方法を設定する:

[root@mail /]# cat /etc/dovecot/conf.d/10-auth.conf
プレーンテキスト認証を無効にする = いいえ
auth_mechanisms = プレーンログイン
!auth-system.conf.ext を含める

2.3 電子メールの保存場所を設定します。

[root@mail /]# cat /etc/dovecot/conf.d/10-mail.conf
メールの場所 = mbox:~/mail:INBOX=/var/mail/%u
名前空間受信トレイ {
受信トレイ = はい
}
最初の有効なUID = 1000
mbox_write_locks = fcntl
[root@mail /]# cat /etc/dovecot/conf.d/10-master.conf 
サービス認証{
   unix_listener /var/spool/postfix/private/auth {
   モード = 0666
   ユーザー = ポストフィックス
   グループ = 接尾辞
   }
}

2.4 SSL を設定する(オフ):

[root@mail /]# cat /etc/dovecot/conf.d/10-ssl.conf 
SSL = いいえ

3 sasl2の設定

3.1 システム認証を構成する:

[root@mail /]# cat /etc/sysconfig/saslauthd 
SOCKETDIR=/run/saslauthd
MECH=影
フラグ=

3.2 ログイン方法を設定する:

[root@mail /]# cat /etc/sasl2/smtpd.conf
pwcheck_method: saslauthd
mech_list: プレーンログイン
ログレベル:3

4 サービスを開始します。

systemctl で dovecot を再起動します。
systemctl postfixを再起動する
systemctl saslauthd を再起動します
systemctl で dovecot を有効にする
systemctl postfixを有効にする
systemctl saslauthd を有効にする

5 ユーザーを作成し、パスを設定する

[root@mail /]# useradd -m autumn && echo 123456 | passwd --stdin autumn
[root@mail /]# su - 秋 
[autumn@mail ~]$ mkdir -p ~/mail/.imap/INBOX
[autumn@mail ~]$ chmod -R 750 ~/mail #(これをしないとfoxmailでログインしたときに{エラー: INBOXを開けませんでした: 権限が拒否されました}というエラーが発生します)
[autumn@mail ~]$ 終了

6 mailxを設定します。

[root@mail /]# cat /etc/mail.rc
[email protected] に設定
smtp=mail.liqing-test.top を設定します
smtp-auth-user=autumn を設定します
SMTP認証パスワードを123456に設定する
smtp-auth=ログインを設定します

4. メール送信テスト

1 コマンドラインメール送信テスト

[root@mail /]# echo "メールサーバーテスト" | mail -s "メールサーバーテスト" [email protected]

2 foxmailを使用してログインし、メールテストを送信する

Centos7.9 で独立したメールサーバーを構築_企業メールボックス

Centos7.9 独立したメールサーバーを構築_メール送信_02

Centos7.9で独立したメールサーバーを構築_メールサーバー_03

5 つのエラー レポート

1 権限が拒否されました

foxmail を使用してメールボックスにログインすると、権限が拒否されたというメッセージが表示されます。これは、メールボックス ユーザーのホーム ディレクトリのメール ファイルの権限が 750 ではないためです。問題を解決するには、750 に設定してください。

[autumn@mail ~]$ chmod -R 750 ~/mail

12 月 3 日 10:15:35 Git サーバー dovecot: pop3-login: ログイン: ユーザー = <autumn>、メソッド = PLAIN、rip = 192.168.31.100、lip = 192.168.2.100、mpid = 24843、セキュリティ保護済み、セッション = <YnZ3ezTSjiLAqB9k>

12 月 3 日 10:15:35 Git サーバー dovecot: pop3(autumn): エラー: fchown(/home/autumn/mail/.imap、group=12(mail)) が失敗しました: 操作は許可されていません (egid=1004(autumn)、グループは /var/mail/autumn に基づいています - http://wiki2.dovecot.org/Errors/ChgrpNoPerm を参照してください)

12月3日 10:15:35 Gitサーバーdovecot: pop3(autumn): エラー: INBOXを開けませんでした: 権限が拒否されました

12月3日 10:15:35 Gitサーバーdovecot: pop3(autumn): INBOXを開けませんでした: 権限が拒否されました top=0/0、retr=0/0、del=0/0、size=0

12 月 3 日 10:16:26 Git サーバー dovecot: pop3-login: ログイン: ユーザー = <autumn>、メソッド = PLAIN、rip = 192.168.31.100、lip = 192.168.2.100、mpid = 24895、セキュリティ保護済み、セッション = <NkWHfjTS2CLAqB9k>

12 月 3 日 10:16:26 Git サーバー dovecot: pop3(autumn): エラー: fchown(/home/autumn/mail/.imap、group=12(mail)) が失敗しました: 操作は許可されていません (egid=1004(autumn)、グループは /var/mail/autumn に基づいています - http://wiki2.dovecot.org/Errors/ChgrpNoPerm を参照してください)

2 ホストが見つかりません:

メールを送信する際、メールアドレスの解決レコードに基づいてMXレコードが検索されます。ここで、Tencentの企業メールボックスにテストメールを送信したところ、Tencentのメールアドレスが見つかりませんでした。イントラネットDNSプロキシにTencentのMXレコードを追加することで解決しました

[root@dns- ~]# grep qq /etc/dnsmasq.conf 
mx-host=***.com,mxbiz2.qq.com,10
mx-host=***.com,mxbiz1.qq.com,5

12月3日 10:36:14 Git-server postfix/smtpd[26216]: 不明[192.168.31.100]から接続

12月3日 10:36:15 Gitサーバー postfix/smtpd[26216]: 05C682267F04: client=unknown[192.168.31.100]、sasl_method=LOGIN、sasl_username=autumn

12月3日 10:36:15 Gitサーバー postfix/cleanup[26220]: 05C682267F04: message-id=<[email protected]>

12月3日 10:36:15 Gitサーバー postfix/qmgr[25430]: 05C682267F04: from=<[email protected]>、size=1561、nrcpt=1 (キューがアクティブ)

12月3日 10:36:15 Git-server postfix/smtpd[26216]: 不明[192.168.31.100]から切断

12 月 3 日 10:36:15 Git サーバー postfix/smtp[26221]: 05C682267F04: to=<***@***.com>、relay=none、delay=0.11、delays=0.08/0.02/0/0、dsn=4.4.3、status=deferred (ホストまたはドメイン名が見つかりません。name=***.com type=MX の名前サービス エラー: ホストが見つかりません。もう一度お試しください)

3 メールが拒否されました

Tencent の企業メールボックスにテストメールを送信したところ、ログに 550 メール接続拒否が表示されました。この問題は、メールにホワイトリストを設定した後に解決しました。

Centos7.9で独立したメールサーバーを構築_企業メールボックス_04

12月3日 10:11:57 Gitサーバーpostfix/smtpd[24617]: mail.liqing-test.top[192.168.2.100]から接続

12月3日 10:11:57 Gitサーバー postfix/smtpd[24617]: 4E2292267F04: client=mail.liqing-test.top[192.168.2.100]、sasl_method=LOGIN、sasl_username=autumn

12月3日 10:11:57 Gitサーバー postfix/cleanup[24621]: 4E2292267F04: message-id=<61a97cec.xRtXn6hYj3NI3wI3%[email protected]>

12月3日 10:11:57 Gitサーバー postfix/qmgr[24504]: 4E2292267F04: from=<[email protected]>、size=541、nrcpt=1 (キューがアクティブ)

12月3日 10:11:57 Gitサーバーpostfix/smtpd[24617]: mail.liqing-test.top[192.168.2.100]から切断

12 月 3 日 10:11:58 Git サーバー postfix/smtp[24622]: 4E2292267F04: to=<***@***.com>、relay=mxbiz1.qq.com[183.57.48.34]:25、delay=1.6、delays=0.09/0.03/0.16/1.3、dsn=5.0.0、status=bounced (ホスト mxbiz1.qq.com[183.57.48.34] が次のように言いました: 550 メール コンテンツが拒否されました。http://service.exmail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000726 (DATA コマンドの終わりへの返信))


Centos7.9 で独立したメールサーバーを設定する詳細な手順については、これで終わりです。 Centos でのメールサーバーの設定の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。 今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • CentOS 8 に Postfix メール サーバーをインストールして設定する方法
  • CentOS 7.2 でメール サーバー (Postfix) をインストールして展開する詳細な手順
  • CentOS 7.2 でメールサーバー (Postfix) を導入

<<:  HTMLの基本概念の詳細な説明

>>:  Vue-cli を使用して Vue プロジェクトを構築する手順の詳細な説明

推薦する

Vue で配列パラメータを渡すための get / delete メソッド

フロントエンドとバックエンドがやり取りする場合、get または delete を介してバックエンドに...

CSS3は背景画像にマスクを設定し、マスクスタイルの継承の問題を解決します。

多くの場合、透明度の設定やぼかしなど、写真の背景を加工する必要があります。 ただし、背景画像が配置さ...

リアルタイムコンピューティングフレームワークFlinkクラスタの構築と動作メカニズムについての簡単な説明

目次1. Flinkの概要1.1 基本的な紹介1.2 アプリケーションシナリオ2. 環境の展開2.1...

アニメーション効果のようなVueトランジションの例

目次結果を一目で見るハート効果デジタルスクロールアニメーションアニメーションのように結果を一目で見る...

MySQL の遅いクエリの最適化方法と最適化の原則

1. 日付のサイズを比較するには、XML に渡される日付形式は 'yyyy-MM-dd...

Ubuntu 18.04 に opencv 3.2.0 をインストールするためのソリューション

opencv.zip をダウンロード依存関係を事前にインストールします。まずダウンロードソースを更新...

MySQLの共通関数を使用してJSONを処理する方法

公式ドキュメント: JSON 関数名前説明JSON_APPEND() JSONドキュメントにデータを...

メタビューポートタグ(モバイルブラウジングズームコントロール)の使用方法

OP が現在のファームウェアで Web ページを開くと、常に 50% にズームアウトされてから表示さ...

Linuxサービスの監視と運用および保守

目次1. psutilパッケージをインストールする次に、オペレーティングシステム内のすべてのサービス...

MySQLのunion allとunionの違いを簡単に理解する

Union は、重複行を除外し、デフォルトのソートを実行する、データに対する結合操作です。Union...

Linux のメモリ管理とアドレス指定の詳細な紹介

目次1. コンセプトメモリ管理モード住所種別分類例: 2. ページ管理x86 アーキテクチャ 32 ...

MySQL Strict Modeの知識ポイントの詳細な説明

I. 厳密モードの説明MySQL 5.0 以降の厳密モード (STRICT_TRANS_TABLES...

alpineをベースにdockerfileで作成したクローラーScrapyイメージの実装

1.アルパインイメージをダウンロードする [root@DockerBrian ~]# docker ...

MacでMysqlのルートパスワードを忘れた場合の解決方法

長い間コンピューターで mysql を使用していなかったので、パスワードを忘れてしまいました。でも、...

Linuxでディレクトリを効率的に切り替える方法

Linux でディレクトリを切り替えるとなると、誰もが間違いなくcdコマンドを思い浮かべるでしょう。...