【Linux】 POPとIMAPの設定
dovecot
メールの受信サーバーのこと。受信するプロトコルはIMAPとPOP3の2種類がある。
・IMAP → メールはサーバに保管される。メール削除をしない限り保存されたメールは消えない。
・POP3 → メールは自分のPCに保管される。1度受信したメールはサーバから削除される。
メールを閲覧するときGmailやOutlookを使用するときに、サーバーのデータを表示させる(IMAP)のか、PCにメールをダウンロードして表示させる(pop3)のかの違いがある。
設定例
/etc/docvecot/dovecot.confの設定
vi /etc/docvecot/dovecot.conf
--------------------------------------------------------------
# 必要に応じてプロトコルを有効にする
protocols = pop3 imap
# IPアドレスの指定。*はIPv4、::はIPv6。
listen = * , ::
# psコマンドでdovecotに接続しているユーザのIPアドレスを表示。yesにする。
verbose_proctitle = yes
--------------------------------------------------------------
/etc/dovecot/conf.d/ 配下の設定
10-auth.conf
vi /etc/dovecot/conf.d/10-auth.conf
--------------------------------------------------------------
# 平文の認証を無効にする(noは有効化)
disable_plaintext_auth = no
--------------------------------------------------------------
10-ssl.conf
vi /etc/dovecot/conf.d/10-ssl.conf
--------------------------------------------------------------
# SSLの暗号化通信を行うか
ssl = no or require
# 秘密鍵と公開鍵証明書の場所を指定
#ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem
#ssl_key_file = /etc/pki/dovecot/private/dovecot.pem
ssl_cert_file = /etc/pki/postfix/postfix.pem # Postfix用に作成した公開鍵証明書
ssl_key_file = /etc/pki/postfix/postfix_noenc.key # Postfix用に作成した秘密鍵と
--------------------------------------------------------------
10-mail.conf
vi /etc/dovecot/conf.d/10-mail.conf
--------------------------------------------------------------
# メールが保存されたディレクトリを指定。Postfixの設定で「home_mailbox = Maildir/」とした場合は以下の設定で動作する。
# mbox形式の場合はmbox:~/mail:INBOX=/var/mail/%u
mail_location = maildir:~/Maildir
--------------------------------------------------------------
ファイアウォールの確認
ファイアウォールでSSHを拒否していると設定が正しくても接続できないので、同時に確認しておく。案件でルールがある場合はそれに従う。
Firewall
$ firewall-cmd --add-port=<変更したポート番号>/tcp --permanent
$ firewall-cmd --reload
POP3ポート:110
POP3Sポート:995
IMAPポート:143
IMAPSポート:993
dovecotサービス再起動
systemctl restart dovecot
systemctl status dovecot
暗号化
/etc/dovecot/conf.d/ 配下の設定
10-auth.conf
vi /etc/dovecot/conf.d/10-auth.conf
--------------------------------------------------------------
# 平文の認証を無効にする
disable_plaintext_auth = yes
--------------------------------------------------------------
10-ssl.conf
vi /etc/dovecot/conf.d/10-ssl.conf
--------------------------------------------------------------
# SSLの暗号化通信を行う
ssl = require
# 秘密鍵と公開鍵証明書の場所を指定
#ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem
#ssl_key_file = /etc/pki/dovecot/private/dovecot.pem
ssl_cert_file = /etc/pki/postfix/postfix.pem # Postfix用に作成した公開鍵証明書
ssl_key_file = /etc/pki/postfix/postfix_noenc.key # Postfix用に作成した秘密鍵
# 使用許可するSSLプロトコルのバージョンの指定。
ssl_min_protocol = TLSv1.2
# サーバー側の暗号リストを優先するかの指定。
ssl_prefer_server_ciphers = yes
--------------------------------------------------------------
10-master.conf
vi /etc/dovecot/conf.d/10-master.conf
--------------------------------------------------------------
# POP3プロトコルに関する設定
service pop3-login {
inet_listener pop3 {
port = 0
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
# IMAPプロトコルに関する設定
service imap-login {
inet_listener imap {
port = 0
}
inet_listener imaps {
port = 993
ssl = yes
}
}
--------------------------------------------------------------
dovecotサービス再起動
systemctl restart dovecot
systemctl status dovecot
※dovecotの設定チェック
dovecotには設定チェック用としてコマンド”doveconf”があり、デフォルトのパラメータとは異なる設定のみを明示的に表示する”-n”オプションを付与する。
コマンド
doveconf [OPTION] [SETTING]
Dovecot の設定を行うためのコマンド。
-h:ヘルプメッセージを表示
-a:全ての設定を表示
-n:設定名のみを表示
-d:設定の値を表示
-f:設定を指定したファイルから読み込む。
-o:設定を指定したオプションで上書き
# Dovecot の設定を表示する
doveconf -a
# Dovecot の設定を指定したファイルから読み込む
doveconf -f /etc/dovecot/dovecot.conf
# Dovecot の設定を指定したオプションで上書きする
doveconf -o protocols=imap,pop3
doveadm [OPTION] COMMAND [ARGUMENT]
Dovecot を管理するためのコマンド。
-D:詳細な出力を表示
-f:出力の形式を指定
-u:対象となるユーザーを指定
サブコマンド
reload:再読み込み
stop:Dovecot を停止
pw:パスワードのハッシュ値を設定
log find:ログファイルを検索
log test:ログのテストを実行
# 削除済みのメールを実際に削除する
doveadm expunge -A
# メールを検索する
doveadm search -A mailbox INBOX from foo@example.com
# メールボックスのアクセス制御リストを表示する
doveadm acl list -u user@example.com INBOX
# メールボックスをバックアップする
doveadm backup -u user@example.com -f /backup/user.mbox
# Dovecot の設定を表示する
doveadm config get -u user@example.com protocols
# メールを検索する
doveadm search -u user@example.com mailbox INBOX from foo@example.com
telnet
ターミナルで使用するコマンドで、指定されたホストに対して、テキストベースでのネットワーク接続を行う。
telnet:ホストに接続するための。
HELO:メールサーバに接続したことを通知する。
MAIL FROM:<送信元アドレス>:送信元アドレスを指定する。
RCPT TO:<宛先アドレス>:宛先アドレスを指定する。
DATA:メールの本文を入力する。
# メールサーバのテストを行う
telnet example.com 25
HELO example.com
MAIL FROM:<sender@example.com>
RCPT TO:<recipient@example.com>
DATA
Subject:Test mail
This is a test mail.
.
QUIT