- スマホで読めないメールに意味はない
- 1. 基礎知識:POP3 と IMAP の決定的違い
- 2. Dovecotのインストール
- 3. Dovecotの設定構造を理解する
- 4. 設定Step 1:プロトコルとインターフェース (dovecot.conf)
- 5. 設定Step 2:メールボックスの場所 (10-mail.conf)
- 6. 設定Step 3:認証とセキュリティ (10-auth.conf)
- 7. 設定Step 4:SSL/TLS暗号化 (10-ssl.conf)
- 8. 設定Step 5:プロセスとポート設定 (10-master.conf)
- 9. 起動とFirewall設定
- 10. 接続テスト:ついに開通の瞬間!
- 第3回まとめ:モバイル時代のメール環境
スマホで読めないメールに意味はない
こんにちは!「リナックス先生」です。
前回、苦労してPostfixを設定し、ようやく世界中にメールを送れるようになりましたね。しかし、まだ「片手落ち」です。
- 第1回:設計・DNS編 – 初心者でもGmailに届くインフラ作り
- 第2回:送信編 (Postfix) – 不正中継を防ぐSMTP-AuthとSubmissionポート
- 第3回(今回):受信編 (Dovecot) – 盗聴不可能なIMAP環境とSSL/TLS
- 第4回:信頼性編 – SPF・DKIM・DMARCフル装備
- 第5回:防衛編 – スパムとウイルスを撃ち落とす
先生! 前回作ったメールアドレス宛にGmailから返信してみたんです。
エラーメールは帰ってこないので、サーバーには届いているはずなんですけど…どこを見ればいいんでしょう?
まさか毎回 less /home/kou-kun/Maildir/new/... ってコマンドで読むんですか?
さすがにそれはエンジニアでも辛いわね。
サーバーに届いた手紙を、あなたのスマホやPCのメーラー(OutlookやThunderbird)に配達してくれるのが「Dovecot(ダブコット)」というソフトよ。
今回は、これを導入して「いつでもどこでもメールチェック」ができる環境を作るわ!
1. 基礎知識:POP3 と IMAP の決定的違い
作業に入る前に、メール受信のプロトコル(通信規約)について理解しておきましょう。
メール設定画面でよく見る「POP」と「IMAP」、どちらを選ぶべきでしょうか?
POP3 (Post Office Protocol ver3)
「サーバーからメールをダウンロードして、端末に保存する」方式です。
- メリット: サーバーの容量を圧迫しない。ネットが繋がらなくても過去メールが読める。
- デメリット: スマホで受信すると、PCでは見られない(消えてしまう)。端末が壊れるとメールも消える。
IMAP (Internet Message Access Protocol)
「サーバーにあるメールを直接見に行く」方式です。
- メリット: スマホで見てもPCで見ても同じ状態(既読・未読)が同期される。端末を変えてもデータはサーバーに残っている。
- デメリット: サーバーの容量(ディスクスペース)を使う。
結論:
現代では、複数の端末でメールを管理するのが当たり前なので、圧倒的に「IMAP」が推奨されます。
今回の講座でもIMAPを中心に構築を進めます。
2. Dovecotのインストール
それでは、Dovecotをインストールしましょう。
OSによってパッケージ名が微妙に異なります。
AlmaLinux / Rocky Linux / RHEL系
dnf install dovecot
Ubuntu / Debian系
Ubuntuでは機能ごとにパッケージが分かれています。必要なものを全て入れます。
apt update apt install dovecot-core dovecot-imapd dovecot-pop3d
インストール確認
dovecot --version # -> 2.3.x などのバージョンが表示されればOK
3. Dovecotの設定構造を理解する
Postfixの設定ファイル(main.cf)は1つの巨大なファイルでしたが、Dovecotの設定ファイルは「機能ごとに細かく分割」されています。
これに戸惑う初心者が多いのですが、整理すれば簡単です。
主な設定ファイルの場所: /etc/dovecot/conf.d/
- 10-auth.conf: 認証(パスワード)の設定
- 10-mail.conf: メールボックスの場所(Maildir)の設定
- 10-master.conf: ポート番号やプロセス権限の設定
- 10-ssl.conf: SSL証明書の設定
メインの /etc/dovecot/dovecot.conf が、これらのファイルを読み込む(Include)仕組みになっています。
それでは、一つずつ設定していきましょう。
4. 設定Step 1:プロトコルとインターフェース (dovecot.conf)
まずは親玉である /etc/dovecot/dovecot.conf を編集します。
vi /etc/dovecot/dovecot.conf
以下の行を探して修正(またはコメントアウトを解除)します。
# 使用するプロトコルを指定 # pop3も入れておきますが、基本はimapを使います protocols = imap pop3 # 待ち受けIPアドレス # * はIPv4すべて、[::] はIPv6すべてを意味します listen = *, ::
5. 設定Step 2:メールボックスの場所 (10-mail.conf)
第2回のPostfix設定で、メールの保存形式を「Maildir」にしましたね。
Dovecotにも「メールはMaildir形式で、ホームディレクトリにあるよ」と教えてあげる必要があります。
vi /etc/dovecot/conf.d/10-mail.conf
30行目付近にある mail_location を探してください。
# デフォルト(mbox形式)をコメントアウト # mail_location = mbox:~/mail:INBOX=/var/mail/%u # Maildir形式を有効化 mail_location = maildir:~/Maildir
注意: Postfixの home_mailbox = Maildir/ 設定と一致していないと、メールが見つからずにエラーになります。
6. 設定Step 3:認証とセキュリティ (10-auth.conf)
「どんなパスワードを許可するか」を設定します。
ここではセキュリティのため、「SSL通信していない時の平文パスワード送信を禁止」します。
vi /etc/dovecot/conf.d/10-auth.conf
平文認証の禁止
# SSL通信以外でのプレーンテキスト認証を禁止する(推奨) disable_plaintext_auth = yes # 認証メカニズム(通常は plain login) auth_mechanisms = plain login
先生の解説:disable_plaintext_auth = yes にすると、Outlookなどで「SSLなし」で接続しようとした瞬間に「認証不可」として弾かれます。
これはパスワード漏洩を防ぐための必須設定です。
7. 設定Step 4:SSL/TLS暗号化 (10-ssl.conf)
第1回で取得した Let’s Encrypt のSSL証明書をDovecotにも適用します。
これにより、通信経路が暗号化され、カフェのWi-Fiなどでメールチェックしても盗聴されなくなります。
vi /etc/dovecot/conf.d/10-ssl.conf
以下の2行を探して、証明書のパスを書き換えてください。
# SSLを有効化 ssl = required # 証明書と秘密鍵のパス(第1回でメモしたもの) # 行頭の < を忘れずに! ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
8. 設定Step 5:プロセスとポート設定 (10-master.conf)
ここは少し上級者向けですが、Postfixが認証を行うためにDovecotの機能を使う場合などに設定します。
今回は基本的なポート設定を確認するだけに留めます。
vi /etc/dovecot/conf.d/10-master.conf
service imap-login や service pop3-login のセクションで、SSLポート(imaps:993, pop3s:995)が有効になっているか確認します(デフォルトで有効なはずです)。
9. 起動とFirewall設定
設定が終わったら、Dovecotを起動し、外部からの接続を受け入れるためにファイアウォールを開けます。
起動と自動起動設定
# 設定ファイルの構文チェック(何も出なければOK) doveconf -n > /dev/null # 起動 systemctl enable --now dovecot
Firewallのポート開放
暗号化されたIMAP (993) と POP3 (995) を開けます。
平文の 143/110 は、SSL必須設定にしたので閉じておいても良いですが、STARTTLS(途中から暗号化)を使うクライアントのために開けておくのが一般的です。
AlmaLinux (firewalld)
firewall-cmd --add-service=imaps --permanent firewall-cmd --add-service=pop3s --permanent firewall-cmd --add-service=imap --permanent firewall-cmd --add-service=pop3 --permanent firewall-cmd --reload
Ubuntu (ufw)
ufw allow 993/tcp ufw allow 995/tcp ufw allow 143/tcp ufw allow 110/tcp
10. 接続テスト:ついに開通の瞬間!
さあ、いよいよクライアントソフト(メーラー)を設定して接続してみましょう。
PCのThunderbirdやWindowsメール、またはスマホのメールアプリを用意してください。
アカウント設定情報
| メールアドレス | kou-kun@example.com (第2回で作ったユーザー) |
| パスワード | Linuxユーザーのパスワード |
| 受信サーバー | mail.example.com |
| プロトコル | IMAP |
| ポート | 993 (SSL/TLS) |
| 送信サーバー | mail.example.com |
| ポート | 587 (STARTTLS) または 465 (SSL/TLS) |
これで「接続成功」となり、受信トレイが表示されれば成功です!
自分宛てにテストメールを送って、すぐに受信トレイに現れるか確認してみましょう。
繋がらない時は?(トラブルシューティング)
もしエラーが出る場合は、サーバー側のログを確認するのが一番の近道です。
# メール関連のログをリアルタイム表示 tail -f /var/log/maillog # (Ubuntuの場合は /var/log/mail.log)
- Permission denied:
/home/kou-kun/Maildirの権限がおかしいかも?所有者がユーザー本人になっているか確認。 - Certificate error: SSL証明書のパスが間違っているか、期限切れかも?
- Timeout: Firewallでポート(993など)が開いていないかも?
第3回まとめ:モバイル時代のメール環境
お疲れ様でした!
これで、あなたのサーバーは「送る」だけでなく「受け取る」こともできるようになりました。
- IMAP採用: スマホとPCで同期できる環境を作った。
- Maildir形式: PostfixとDovecotで保存場所を統一した。
- 設定ファイル分割:
conf.d以下のファイルを適切に編集した。 - SSL暗号化:
10-ssl.confで証明書を設定し、盗聴を防いだ。
先生! iPhoneでメールが見れました! 感動です!
自分で作ったサーバーを経由してメールが届くって、なんか不思議な気分ですね。
これでGmailとも普通にやり取りできますか?
機能としてはできるわ。
でも…実は今の状態だと、Gmailに送ったメールは高い確率で「迷惑メールフォルダ」に入れられてしまうの。
なぜなら、あなたのメールには「署名」がないから。
次回は、Gmailなどの厳しいフィルターを通過するために必須の技術、「SPF・DKIM・DMARC」を設定して、サーバーの信頼性を最強レベルに引き上げるわよ!
▼大容量Maildirも安心のVPS
IMAP運用ではサーバーにメールが溜まり続けます。ディスク容量が豊富で、将来的なスケールアップも簡単なLinux工房推奨VPSはこちらです。


コメント