はじめに
mix-space に返信メールの購読と通知を追加するため、自分でメールサーバーを立てることにした。
いろいろ探してみたところ、iRedMail は機能が強力で、使い方も簡単、デプロイもそこまで複雑ではない。よし、やろう。
もし導入したいなら、必要なものは次のとおり:
- VPS 1台。できれば逆引き DNS(Reverse DNS)に対応しているもの。
- ドメイン1つ(もちろん)
この記事は Ubuntu 22.04 LTS を前提にしていて、使用ドメインは xxu.do。参考にどうぞ。
インストール
システムの準備とインストール
- パッケージを更新して、必要なパッケージをインストールする:
sudo apt update
sudo apt upgrade
sudo apt install wget curl sudo tar socat bind9-utils -y
- メールサーバーのドメインには mail.xxu.do を使う予定なので、VPS のホスト名を設定する:
- iRedMail をダウンロードしてインストールする
このあとはグラフィカルなインストーラーが起動する。スペースキーで選択、Enter キーで次へ進む。途中で止めたいときは「Ctrl+C」を押す。
DNS レコードの設定
- メールサーバーに使うドメインを VPS の IP に解決させ、証明書を取得してインストールする:
- iRedMail のグレイリストを無効にする(影響はまだよく分かっていないが、チュートリアルに従っておく)
- PTR(逆引き)を設定する:VPS の管理画面で PTR レコードをメールサーバーのドメイン(この記事では mail.xxu.do)に設定する。確認は「
nslookup x.x.x.x(服务器IP)」で行う。 - レコードを設定する:
vi /root/iRedMail-1.6.8/iRedMail.tips
#找到类似下图的部分,复制出来,删掉所有的引号和空格,首位连在一起。

すると下のようなコードが得られるので、dkim._domainkey の Content に貼り付ける:
| 種別 | 名前 | 内容 |
|---|---|---|
| MX | xxu.do | mail.xxu.do |
| TXT | xxu.do | v=spf1 mx ~all |
| TXT | dkim._domainkey | 上記のとおり。例: v=DKIM1;p=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| TXT | _dmarc | v=DMARC1; p=none; pct=100; rua=mailto:dmarc@xxu.do |
iRedMail の設定
これで以下のページにアクセスできる:
ユーザーを追加したい場合は、メールサーバーの管理画面にログインし、画像の位置で追加する。

ユーザー追加
メールサーバーのテスト
mail-tester
- https://www.mail-tester.com にアクセスして、テスト用のメールアドレスを取得する。
- 管理者アカウント(postmaster@xxu.do)でメールボックスにログインし、システムから届いた3通のメールのうち、任意の1通をテスト用のメールアドレスに送信する。
- https://www.mail-tester.com に戻り、テストをクリックする。
案の定、10点満点を獲得できた。
Gmail テスト
自分の Gmail 宛てにメールを送ってみたが、迷惑メールに入ってしまった。手動で「迷惑メールではない」とマークすると、それ以降はほかの人宛ても正常に届くようになった。
メールクライアント対応
| プロトコル | アドレス | ポート/暗号化ポート |
|---|---|---|
| IMAP | xxu.do | 143,993 |
| POP3 | xxu.do | 110,995 |
| SMTP | xxu.do | 25(ポートの開放が必要),587 |
おわりに
iRedMail をインストールした後、ほかのサービスがデプロイできなくなってしまった。調べてみると、原因はおそらく nftables がデフォルトでインストールされていたこと。vi etc/nftables.conf でルールを修正して、systemctl restart nftables でサービスを再起動したら直った。