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 で h5 側のアプリを開きます (Android か Apple かを判断します)

1. 開発環境 vue+vant 2. コンピュータシステム Windows 10 Profess...

ホスト上のDockerコンテナ内でシェルまたはプログラムを実行する

Docker コンテナに繰り返し入って操作することを避けるために、コンテナ内の一連の命令をホストマシ...

VMware仮想マシンでのLinuxのコピー&ペーストの詳細な説明

1. VMware Workstation 上の Linux: 1. ソースの更新(オプション) v...

Linux で MySQL のスケジュールバックアップを実装する方法

実際のプロジェクトでは、緊急事態を防ぐためにデータベースを頻繁にバックアップする必要があります。しば...

Visual Studio Code + Reactをベースに開発環境を構築するプロセス

開発環境ウィンドウ開発ツール Visual Studio Codeノードのインストールとnpm Wi...

Linux での MySQL 5.7.16 無料インストール バージョンのグラフィック チュートリアル

この記事では、参考までにMySQL 5.7.16の無料インストール版のチュートリアルを紹介します。具...

タイプファイルの入力ボタン機能の研究

<br />一部のWebサイトでアップロードする場合、「参照」ボタンをクリックすると[フ...

Vue elementUI はツリー構造テーブルと遅延読み込みを実装します

目次1. 成果を達成する2. バックエンドの実装2.1 エンティティクラス2.2 データベース内のデ...

Docker を使用して開発環境を構築する方法 (Windows および Mac)

目次1. Dockerを使用する利点2. Dockerをインストールする1) LinuxにDocke...

VMware で Centos7 ブリッジ ネットワークを構成する手順の詳細な説明

VMware仮想マシンでのCentos7ブリッジネットワーク構成の完全な手順は参考用です。具体的な内...

Navicat Premier の MySQL へのリモート接続エラー 10038 の解決方法

MySQL へのリモート接続が失敗する場合は、次の理由が考えられます。 1. 若い男性/女性の方は、...

VMware Workstation 15 Pro に Ubuntu 1804 をインストールするチュートリアル (画像とテキスト付き)

このメモはインストール チュートリアルです。実用的な意味はありません。記録のためだけに書いています。...

Linuxは数字当てゲームのソースコードを実装する

シンプルな Linux 推測ゲームのソースコードゲームのルール:数字当てゲームは通常 2 人でプレイ...

HTML はモバイル上で固定フローティング半透明検索ボックスを実装します

質問。モバイルショッピングモールシステムでは、ページの上部に検索ボックスがよく見られます。ブロガーは...

VMwareがモジュールディスクを早期に開けない場合の解決策の詳細な説明

VMWare (Virtual Machine ware) は、「仮想 PC」ソフトウェア会社です。...