ローカルメールサーバー構築
このページでは、Linux Mint 上に Postfix と Dovecot を使ったローカル専用メールサーバーを構築し、 送受信テストまで行う手順をまとめています。外部には送信せず、LAN 内だけで安全にメールを扱える環境を作ります。
最終更新:
目的
このページでは、Linux Mint 上に ローカル専用メールサーバー を構築します。
- 外部インターネットには送信しない
- LAN 内または Mint 内だけでメール送受信
- Postfix(送信)+ Dovecot(受信)+ Maildir
- Thunderbird などのメールクライアントから利用可能
1. 必要パッケージのインストール
ローカルメールサーバー(Postfix + Dovecot)を構築するために、必要なパッケージをまとめてインストールします。 IMAP / POP3 に対応した Dovecot も同時に導入します。
sudo apt update
sudo apt install -y postfix mailutils dovecot-imapd dovecot-pop3d
Postfix の初期設定
インストール途中で Postfix の設定画面が表示されます。以下のように選択してください。
- General type of mail configuration: Local only
- System mail name: mail.local
「Local only」を選ぶことで、外部ネットワークへメールを送信しない ローカル専用の安全なメールサーバーとして動作します。
2. Postfix のローカル専用設定
ここでは Postfix を「ローカル専用メールサーバー」として安全に動作させるための設定を行います。 外部ネットワークへメールを送信しない構成にすることで、初心者でも安心して学習できます。
基本設定
まずはホスト名やメール保存形式(Maildir)など、Postfix の基本動作を定義します。
sudo postconf -e "myhostname = mail.local"
sudo postconf -e "mydomain = local"
sudo postconf -e "mydestination = mail.local, localhost, local"
sudo postconf -e "home_mailbox = Maildir/"
※ mail.local はローカルメールサーバー名の一例です。
Postfix の myhostname は「ホスト名.ローカルドメイン名」の形式(FQDN)が推奨されます。
LAN 内で一意であれば、mint-mail.local や classroom-mail.local など任意の名前で構いません。
なお、.local を使うと外部 DNS と衝突せず、ローカル専用として扱われるため安全です。
LAN 内からの接続を許可
Mint の LAN が 192.168.1.x の場合、LAN 内の PC からメール送信できるように
mynetworks を設定します。
sudo postconf -e "mynetworks = 127.0.0.0/8, 192.168.1.0/24"
※ Mint の IP アドレスそのものではなく「ネットワークアドレス」を書く必要があります。
初心者向け:ネットワークアドレスの求め方
- Mint の IP アドレスを確認します。
ip a
例:
inet 192.168.1.21/24
- 最後の数字(21)を 0 に置き換える
192.168.1.0/24
外部送信を完全に禁止(安全対策)
学習環境では、誤って外部へメールが送信されないように
inet_interfaces を設定して安全性を高めます。
sudo postconf -e "inet_interfaces = all"
/etc/mailname を設定
メールの送信元ホスト名として使用される /etc/mailname を設定します。
echo "mail.local" | sudo tee /etc/mailname
Postfix 再起動
設定を反映するため、Postfix を再起動します。
sudo systemctl restart postfix
3. Dovecot の設定(Maildir)
Dovecot はメールの受信(IMAP / POP3)を担当するソフトです。 Linux Mint のユーザーごとにメールを保存するため、Maildir 形式を使用します。 ここでは Maildir を使うように設定を確認し、Dovecot を再起動します。
Maildir を指定
10-mail.conf を開いて、Maildir が有効になっているか確認します。
sudo nano /etc/dovecot/conf.d/10-mail.conf
以下の設定になっていれば OK です。
mail_location = maildir:~/Maildir
もしコメントアウト(#)されている場合は、# を削除して有効化してください。
Dovecot 再起動
設定を反映するため、Dovecot を再起動します。
sudo systemctl restart dovecot
4. メールユーザーの作成
Linux のユーザーアカウントは、そのままメールアカウントとして利用できます。 ここでは例として testuser を作成し、必要な Maildir の準備まで行います。
例:testuser を作成
sudo adduser testuser
複数ユーザーを追加する場合
Linux のユーザーアカウントは、そのままメールアカウントとして利用できます。 新しいユーザーを追加するだけで、すぐにメール送受信が可能です。
例:user2 を追加する場合
sudo adduser user2
続いて、Maildir を作成します。
sudo -u user2 maildirmake.dovecot /home/user2/Maildir
sudo -u user2 maildirmake.dovecot /home/user2/Maildir/.Drafts
sudo -u user2 maildirmake.dovecot /home/user2/Maildir/.Sent
sudo -u user2 maildirmake.dovecot /home/user2/Maildir/.Trash
Maildir の確認:
sudo -u user2 ls -l /home/user2/Maildir
cur/ new/ tmp/ があれば成功です。
ユーザー一覧を確認する方法
現在登録されているユーザーを確認したい場合は、次のコマンドを使います。
cat /etc/passwd
この中に表示されるユーザーのうち、/home/ユーザー名 を持つアカウントが 一般ユーザー(メールを使えるユーザー)です。
ユーザー削除時の注意点
ユーザーを削除する場合:
sudo deluser ユーザー名
この方法ではホームディレクトリ(Maildir)は削除されません。 メールデータを残したい場合に適しています。
完全に削除したい場合:
sudo deluser --remove-home ユーザー名
⚠️ 注意:
- Maildir 内のメールがすべて削除される
- Thunderbird の設定も使えなくなる
- 同じ名前で作り直すと設定が残る場合がある
5. Maildir の作成(testuser の権限で)
Postfix と Dovecot は Maildir 形式でメールを保存します。 そのため、各ユーザーのホームディレクトリに Maildir を作成する必要があります。 ここでは例として testuser の Maildir を作成します。
sudo -u testuser maildirmake.dovecot /home/testuser/Maildir
sudo -u testuser maildirmake.dovecot /home/testuser/Maildir/.Drafts
sudo -u testuser maildirmake.dovecot /home/testuser/Maildir/.Sent
sudo -u testuser maildirmake.dovecot /home/testuser/Maildir/.Trash
これで Maildir と、メールクライアントでよく使うフォルダ(Drafts / Sent / Trash)が作成されます。
Maildir の確認
Maildir が正しく作成されたか確認します。
sudo -u testuser ls -l /home/testuser/Maildir
cur/ new/ tmp/ があれば成功です。
6. サーバー側の動作確認
Postfix(送信)と Dovecot(受信)が正しく動作しているかを確認します。 ここではサービスの状態と、IMAP ポート(143)の待ち受け状態をチェックします。
Postfix の状態
Postfix が正常に起動しているか確認します。
sudo systemctl status postfix
Postfix の正常表示例
● postfix.service - Postfix Mail Transport Agent
Active: active (running)
Dovecot の状態
Dovecot(IMAP/POP3)が正常に起動しているか確認します。
sudo systemctl status dovecot
Dovecot の正常表示例
● dovecot.service - Dovecot IMAP/POP3 email server
Active: active (running)
IMAP ポートが開いているか
IMAP(143番ポート)が待ち受け状態になっているか確認します。
sudo ss -tlnp | grep dovecot
IMAP ポート(143)が開いている正常表示例
tcp LISTEN 0 100 0.0.0.0:143 0.0.0.0:* users:(("dovecot",pid=1234,fd=12))
tcp LISTEN 0 100 [::]:143 [::]:* users:(("dovecot",pid=1234,fd=13))
上記のように LISTEN と表示されていれば、IMAP が正常に動作しています。
7. ファイアウォール(ufw)の設定
ufw の状態確認
現在ファイアウォールが ON か OFF かを確認します。
sudo ufw status
例:
Status: inactive
inactive(OFF) なら設定は不要です。
active(ON) の場合は、次の設定が必要になります。
必要なポートを許可する(ON の場合)
sudo ufw allow 25/tcp sudo ufw allow 143/tcp
LAN 内だけ許可する(より安全)
LAN 内(例:192.168.1.0/24)からのみ接続を許可する方法です。
sudo ufw allow from 192.168.1.0/24 to any port 25 proto tcp sudo ufw allow from 192.168.1.0/24 to any port 143 proto tcp
外部からのアクセスは完全に遮断されるため、安全性が高まります。
8. Linux Mint からの送信テスト
Linux Mint から testuser 宛てにメールを送信し、 Postfix が正しくローカル配送できているか確認します。 Thunderbird を使う前に、まずこのテストで配送の基本動作をチェックします。
echo "hello" | mail -s "test" testuser
このテストコマンドの意味
echo "hello" | mail -s "test" testuser は、
Linux Mint の中から testuser 宛てにメールを送る簡単なテストです。
echo "hello"… メール本文(hello)を作る|… 本文を mail コマンドに渡すmail -s "test" testuser… 件名 test、宛先 testuser でメール送信
このテストは、Thunderbird を使う前に
Postfix が正しくローカル配送できているかを確認するためのものです。
Maildir の new/ にファイルが増えれば成功です。
9. Thunderbird の設定
Thunderbird は 自動検出が必ず失敗 するため、 手動設定 が必要です。 ここでは IMAP(受信)と SMTP(送信)の設定を正しく入力する方法をまとめます。
■ 受信(IMAP)
以下の設定を手動で入力します。
| サーバー名 | Mint の IP(例:192.168.1.21) |
|---|---|
| ポート | 143 |
| 接続の安全性 | なし |
| 認証方式 | 通常のパスワード |
| ユーザー名 | testuser |
■ 送信(SMTP)
送信サーバー(SMTP)も手動で設定します。
| サーバー名 | 192.168.1.21 |
|---|---|
| ポート | 25 |
| 接続の安全性 | なし |
| 認証方式 | なし |
| ユーザー名 | 空欄 |
■ メールアドレス
testuser@mail.local
⚠️ 注意:再テストを押さない
Thunderbird の仕様で、
再テスト → 必ず失敗 → 完了ボタンが押せなくなる
✔ 正しい操作:
手動設定を入力 → 再テストを押さずに完了を押す
10. 送受信テスト
Thunderbird と Linux Mint の両方からメールを送信し、 Postfix と Dovecot が正しく動作しているか確認します。
まず Thunderbird から testuser@mail.local にメールを送信します。
Postfix がローカル配送し、Maildir にメールが届けば正常です。
次に、Mint から Thunderbird に送信します。
echo "hello" | mail -s "test" testuser
Thunderbird にメールが届けば、 送信(Postfix)・受信(Dovecot)ともに正常です。
11. まとめ
このページでは、Linux Mint 上に ローカル専用メールサーバー を構築する手順をまとめました。
Postfix(送信)と Dovecot(受信)を組み合わせることで、LAN 内だけで安全にメール送受信ができる環境が整います。
今回のポイント
- Postfix は ローカル専用設定(外部送信は行わない)
- Dovecot は Maildir 形式で受信メールを管理
- ユーザー追加だけで新しいメールアカウントを作成可能
- Thunderbird は 自動検出が失敗するため手動設定が必須
- IMAP ポート(143)が LISTEN していれば受信準備完了
echo "hello" | mail -s "test" testuserでローカル配送の動作確認ができる- ufw を ON にしている場合は 25番・143番の許可が必要
ローカルメールサーバーの利点
- 外部に送信しないため安全
- 学習・検証環境として最適
- LAN 内の連絡用途に便利
これで Linux Mint 上に、シンプルで安全なローカルメール環境が完成しました。
必要に応じてユーザーを追加したり、Thunderbird のアカウントを増やして活用してみてください。