2025/05/05 RockyLinux9.5





dovecotでIMAPサーバ

dovecotでIMAPを受けつけるサーバを作ります。
IMAPの検証用に、外部へメール送信することがないようLAN内に閉じたPostfix構成としています。
もちろん、Postfixに中継の設定を加えれば外部へのメール送信は可能となります。

SELinuxの無効
SELinuxの確認
#getenforce
Enforcing

SELinuxの編集
#vi /etc/sysconfig/selinux
SELinux=disabled

OSの再起動


Postfixの構築
OSの初期段階で入っていなければPostfixをインストールし、Firewallを開放します。
Postfixのインストールと起動
# dnf install postfix
# systemctl enable postfix
# systemctl start postfix

Firewallの開放
# firewall-cmd --add-service=smtp --permanent
# firewall-cmd --reload
# firewall-cmd --list-service
cockpit dhcpv6-client smtp ssh

インストールされたPostfixのmain.confへ、最低限のドメイン情報を設定します。
# vi /etc/postfix/main.cf

mydestination = $myhostname, localhost.$mydomain, example.local
inet_interface = all
inet_protocols = ipv4
mynetworks = localhost

home_mailbox = Maildir/  (MaildirというディレクトリにMaildir形式で保存)
この設定では、いずれからでも自ドメイン宛のメールは受信します。
中継許可アドレス(mynetworks)はlocalhostのみなので、他のノードからメールサーバを経由して外部へメール送信はできません。
IMAPを使用する想定なのでメールボックスは、ホームディレクトリへMaildirという名前で保存します。
メール保存形式は末尾にスラッシュを付けて、MailDir形式とします。
ちなみにhome_mailboxを指定すると類似設定のmail_spool_directoryは暗黙で無効になります。


Postfixを再起動し、ポートが開いていることを確認します。
# systemctl restart postfix
# ss -ant
State   Recv-Q   Send-Q     Local Address:Port     Peer Address:Port   Process
LISTEN  0        128              0.0.0.0:22            0.0.0.0:*
LISTEN  0        100              0.0.0.0:25            0.0.0.0:*


メールアカウントを作成する
メールサーバでメールを受け付けるために、メール用ユーザーを登録します。
# useradd user1 -s /sbin/nologin
# passwd user1pass


dovecotを構成する
dovecotをインストールし、Firewallのポートを開放します。
ここではIMAP(143)を許可しています。
dovecotxのインストール
# dnf install dovecot

Firewallの開放
# firewall-cmd --add-service=imap --permanent
# firewall-cmd --reload
# firewall-cmd --list-service
cockpit dhcpv6-client imap imap ssh

dovecotの設定として、以下confファイルを修正します。
SSLを使用せず、パスワードを平文で通信することを許可しています。
IMAPプロトコルの限定
# vi /etc/dovecot/dovecot.conf
protocols = imap
listen = *


ユーザー認証(平文の許可)設定
# vi /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login


メールディレクトリにパス指定
# vi /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir


SSL使用の禁止
# vi /etc/dovecot/conf.d/10-ssl.conf
ssl = no

dovecotを起動して、ポート143が起動しているかを確認します。
dovecotの起動
# systemctl start dovecot
# systemctl enable dovecot

# ss -ant
State   Recv-Q   Send-Q     Local Address:Port     Peer Address:Port   Process
LISTEN  0        128              0.0.0.0:22            0.0.0.0:*
LISTEN  0        100              0.0.0.0:22            0.0.0.0:*
LISTEN  0        100              0.0.0.0:143           0.0.0.0:*

最後に、ThunderbirdでIMAPメールアカウントを追加し、メールの送受信試験を行います。
IMAPの試験をするとき、Thunderbirdの既存のPOPアカウントを使いまわさないようにしましょう。
ThunderbirdではPOPアカウントとIMAPアカウントは別物なので、アカウントを使いまわすと応答がないように見えます。







prev.gif