メールは、事業の記録そのものだ。やり取りも、契約も、履歴も、すべてそこに積まれている。前章までで、土台・門番・コード・文書を自分の側に置いた。この章では、その記録が毎日流れ込む受信箱を、自分の側に取り戻す。*受信は易しく、送信の到達性には条件がある*。その条件を先に書いたうえで立てる。
受信箱の主導権を、自分の側に戻す
- 記録の主導権 ── 過去メールの保管・検索・書き出しを、自分のルールで決める
- 人数課金から降りる ── メールボックスの数で月額が積み上がらない
- 名前を門番と揃える ── アカウントの名前は 2-05 の門番と同じにする。ログインは Stalwart が持つ(2-05)
Stalwart を一台で立てる
メールサーバは Stalwart である。Rust 製の単一のサーバに、SMTP・IMAP・JMAP・スパム対策・DKIM 署名まで入っている。Exchange の置き換えだ。保管は 2-03 の PostgreSQL に寄せられる。立てる先は、2-02 で AI に渡した一台でよい。
公式の導入スクリプトが、バイナリ(/usr/local/bin/stalwart)、設定(/etc/stalwart)、データ(/var/lib/stalwart)、専用の stalwart 利用者、systemd のユニットまで作る。
2-02 の決めどおり、Docker は使わない。
- 外に開ける口は 25・465・587・993。この章で初めて開けるので、「やる前に言う」操作だ(2-02)
- 管理画面(8080)は外に出さない。localhost だけで待ち受け、手元の PC から ssh の中を通して見る
- 保管は 2-03 の PostgreSQL。Stalwart 用のデータベースと利用者を一つ作る
curl --proto '=https' --tlsv1.2 -sSf https://get.stalw.art/install.sh -o install.sh
sudo sh install.sh # 公式の導入スクリプト。systemd のサービスとして入る
管理画面でドメインとメールボックスを作る。コードは書かない。
DNS を正しく置く ── MX・SPF・DKIM・DMARC
メールは、立てるより DNS が本体だ。次の四つを正しく置く。
example.com. MX 10 mail.example.com.
example.com. TXT "v=spf1 mx -all"
default._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=...(Stalwart が生成)"
_dmarc.example.com. TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
逆引き(PTR)は、相手のサーバが送り手の IP を確かめるのに使う。固定 IP の回線なら回線の事業者が設定してあるので、こちらですることはない(2-02)。
送信は、条件が揃えば自分で ── 中継は逃げ道
自前サーバからの送信は、相手のサーバが「信用できる送り手か」を見る。見られるのは四つで、揃っていれば自分で送れる。
- 固定 IP(2-02)
- 逆引き(PTR)が、その IP に設定されている
- SPF・DKIM・DMARC が、前の節のとおり置かれている
- 回線が 25 番の外向きの送信を止めていない。多くの回線は迷惑メール対策で止めている(OP25B)。固定 IP の法人向け回線は通ることが多い
揃っていれば、送信も自分の側で持つ。それでも、相手のサーバの判定で届かないことは起きる。これは OSS の優劣ではなく、メールという仕組みの現実だ。届かない相手が出たときは、外向きの送信だけ、認証付きの SMTP 中継(送信専用サービス)を借りる。借りるのは到達性だけで、受信箱は自分の側に残る。
受信箱は自分の側に。送信は、条件が揃えば自分で。届かない相手が出たら、送信だけ借りる ── 線を引いて立てる。
読み書きは Thunderbird でよい
読み書きは、IMAP を話す任意のクライアントでよい。Thunderbird なら無料で、 Windows・Mac・Linux で同じように動く。スマホは標準のメールアプリが IMAP でつながる。Stalwart が話す JMAP は、自分で書く道具(2-12)から使う。
いまのサーバは、そのまま残す
移行の手順は要らない。新しいメールは Stalwart で受ける。過去のメールは、いまのサーバの中にそのまま残し、その中で処理すればよい。Thunderbird は複数のアカウントを並べて開けるので、読み返すならそこで両方を見る。Microsoft 365 も Gmail も、 Thunderbird で開ける(どちらも OAuth2 で入る。Microsoft Learn と Mozilla のサポート頁、2026-10-05 に確認)。
MX を Stalwart に向けるのは、受信が確かめられてからでよい(2-12)。旧サーバを解約するときに、残したいフォルダだけ Thunderbird で新しい側へ引きずって写す。
保存も安全も、決まりごとは数行
メールの保存に、専用のアーカイブ製品は要らない。メールは全部 2-03 の PostgreSQL にあり、2-01 の「守るのはデータと仕様」の複製対象に含まれている。何年残すかは、業務ルールの Markdown に一行書く。保存の仕様は、それで全部だ。
安全側も一行で済む。実行ファイルの添付は、開かない。スパムは Stalwart が内蔵で弾く。疑わしいメールは、添付を開く前に本文を AI に読ませて、判断の材料にする。
確かめ方
この章は、次の五つができていれば済みだ。
- 外のアドレス(Gmail など)から自分のドメイン宛に送ったメールが、Thunderbird で読める
- Thunderbird から外のアドレス宛に送ったメールが、相手の受信箱に届く(迷惑メールに落ちない)
- ssh の中を通して管理画面に入れて、作ったドメインとメールボックスが見える
- 外から引いて、MX・SPF・DKIM・DMARC・PTR の五つが返る
- Thunderbird で、旧サーバと Stalwart の両方のアカウントが並んで見える
systemctl status stalwart # systemd で動いているか
dig +short MX example.com # MX が引ける
dig +short TXT default._domainkey.example.com # DKIM が引ける
dig +short -x <サーバの IP> # 逆引き(PTR)が引ける
人が持つ物
人が渡す値
- メールのドメイン名と、メールサーバのホスト名
- サーバの固定 IP
- 管理画面の最初の管理者の名前とパスワード
- Stalwart 用の PostgreSQL の利用者名とパスワード
- 中継を借りるときは、その SMTP 中継のアカウントと認証情報
- メールを何年残すか
AI が「やる前に言う」操作
- 25・465・587・993 の口を開ける
- DNS のレコードを変える。とくに MX を Stalwart に向ける切り替え
- 外のアドレス宛にメールを送る
- メールボックスを消す
確かめた版と日付
- Stalwart 0.16.25(2026-10-05、公式の導入スクリプト)、Thunderbird 140(Debian 13 のパッケージ)、PostgreSQL(2-03)
- 手順を書いたのは 2026-07-09、見直したのは 2026-10-05
- 版が上がっていたら、AI に公式の手順を確かめさせてから進める
まとめ
受信箱を、自分の側に。
- Stalwart ── SMTP・IMAP・JMAP・スパム対策・DKIM を単一サーバで(2-03 の PostgreSQL に乗る)。公式スクリプトで systemd に
- DNS(MX・SPF・DKIM・DMARC) ── メールの本体はここ。逆引きは回線の事業者が設定済み
- 送信は条件が揃えば自分で ── 固定 IP・逆引き・SPF/DKIM/DMARC・25 番が通る回線。届かない相手が出たら送信だけ借りる
- Thunderbird ── 無料・全 OS 共通の IMAP クライアント
- いまのサーバは残す ── 過去のメールはその中で処理する。Thunderbird で両方を並べ、受信が確かめられたら MX を向ける
次章では、会議とカレンダー(Jitsi・Radicale)を立て、Teams とカレンダーの共有を自分の側に置く。