【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


SMTPの設定


よろしければサポートお願いします!よりいい情報を発信します。