メールは、事業の記録そのものだ。やり取り・契約・履歴が、すべてそこに積まれている。それを他社のサーバに預けたままにせず、受信箱の主導権を自分の側に取り戻す。
ただし、メールは正直に語るべき領域でもある。受信は易しく、送信(到達性) は難しい。この章は、その線引きをはっきりさせて立てる。
なぜメールを自分の側に置くのか
- 記録の主導権 ── 過去メールの保管・検索・書き出しを、自分のルールで
- 人数課金から降りる ── メールボックスの数で月額が積み上がらない
- 門番と一つに ── アカウントを2-03の認証と揃える
Stalwart を立てる
メールサーバは Stalwart。Rust 製の単一サーバに、SMTP・IMAP・JMAP・スパム対策・DKIM 署名まで入っている。Exchange の置き換えだ。保管は 2-02の PostgreSQL に寄せられる。
# compose.yaml ── 単一のメールサーバを立てる
services:
mail:
image: stalwartlabs/mail-server:latest
volumes: ["./stalwart:/opt/stalwart-mail"]
ports: ["25:25", "587:587", "465:465", "993:993", "8080:8080"]
restart: always
管理画面(:8080)でドメインとメールボックスを作る。コードは書かない。
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 評価・ブロックリスト・各社の判定に左右され、 届かないことがある。これは OSS の優劣ではなく、メールという仕組みの現実だ。
だから、現実的な設計はこうする:
- 受信・保管・検索 ── 自分の Stalwart が持つ(ここが主導権の本体)
- 外向きの送信 ── 認証付きの SMTP 中継(送信専用サービス)を経由する
中継は送信の到達性だけを借りる薄い層で、メールボックスそのものは自分の側に残る。主導権を握る場所と、到達性を借りる場所を分ける ── これが正直で堅実なやり方だ。
メールは「全部自前」が正解とは限らない。 受信箱は自分の側に、送信の到達性は借りる ── 線を引いて立てる。
クライアント ── Thunderbird
読み書きは、IMAP / JMAP を話す 任意のクライアントでよい。Thunderbird なら無料で、Windows・Mac・Linux で同じように動く。スマホは標準のメールアプリがそのまま JMAP / IMAP でつながる。
移行 ── Microsoft 365 から
既存のメールは、IMAP 同士をまるごと同期する imapsync で運ぶ。
imapsync --host1 outlook.office365.com --user1 you@old \
--host2 mail.example.com --user2 you@new
一斉に切り替えなくてよい。しばらく両方で受け、転送をかけて並行運用し、落ち着いてから MX を Stalwart に向ける(2-09)。
保存も安全も、決まりごとは数行
メールの保存に、専用のアーカイブ製品は要らない。メールは全部 2-02 の PostgreSQL にあり、2-01 の「守るのはデータと仕様」の複製対象に含まれている。何年残すかは、業務ルールの Markdown に一行書く ── 保存の仕様は、それで全部だ。
安全側も一行で済む。実行ファイルの添付は、開かない。スパムは Stalwart が内蔵で弾く。疑わしいメールは、添付を開く前に本文を AI に読ませて、判断の材料にする。
なお、移行の手順は Gmail でも同じだ ── imapsync は IMAP 同士をつなぐ道具であって、相手が Microsoft でも Google でも変わらない。
まとめ
受信箱を、自分の側に。
- Stalwart ── SMTP・IMAP・JMAP・スパム対策・DKIM を単一サーバで(2-02 PostgreSQL に乗る)
- DNS(MX・SPF・DKIM・DMARC・PTR) ── メールの本体はここ
- 送信は中継に頼る ── 受信箱は自分、到達性は借りる、と線を引く
- Thunderbird ── 無料・全 OS 共通のクライアント
- imapsync ── Microsoft 365 から並行移行、最後に MX を向ける
次章では、会議と予約(Jitsi・Cal.com) を立て、Teams と予約サービスを自分の側に置く。