Ubuntu 22.04 でローカル MTA として Postfix を使う手順です。ここでの目的は、サーバー自身から管理者宛ての通知メールを送れるようにすることであり、外部からメールを受ける本格的なメールサーバーを作ることではありません。
監視、cron、ログ監視、各種アプリケーションの通知を扱う場合、サーバー上に最小限の MTA があると運用しやすくなります。この記事では、ローカル配送と relayhost を使う通知用途に絞って整理します。
Postfix詳解 MTAの理解とメールサーバの構築・運用
Postfix を中心にメールサーバーの構築と運用を確認したい場合の参考書籍です。Dovecot と組み合わせたメール基盤を理解する補助として使えます。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
関連するメールサーバー記事
Postfix と Dovecot は役割が異なります。ローカル通知、内部向け SMTP、IMAP 受信を分けて読むと、メール基盤の責務を整理しやすくなります。
- Ubuntu 22.04 Postfix ローカル MTA 設定
- Ubuntu 22.04 Postfix 内部向けメールサーバー構築 – 通知基盤と relayhost の設計
- Ubuntu 22.04 Dovecot MRA メールサーバー構築
ローカル MTA の位置づけ
| 構成 | 役割 |
|---|---|
| ローカル MTA | サーバー自身から通知メールを送る |
| 内部向け Postfix | 内部ネットワークの SMTP 基盤として中継や配送を扱う |
| Dovecot | IMAP / POP3 によるメール閲覧を扱う |
| 外部公開メールサーバー | MX、SPF、DKIM、DMARC、迷惑メール対策まで含む |
ローカル MTA は、外部から SMTP 接続を受ける構成ではありません。通知を送るための最小構成として、待ち受け範囲や配送先を絞ることが重要です。
Postfix をインストールする
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y postfix mailutilsインストール時に対話画面が出る場合は、ローカル通知用途では Local only または Internet Site を選び、後から main.cf を明示的に調整します。
main.cf を設定する
ローカル通知用途では、外部からの受信を避けるため inet_interfaces = loopback-only を基本にします。外部送信は必要に応じて relayhost に渡します。
sudo postconf -e 'myhostname = server.example.local'
sudo postconf -e 'myorigin = /etc/mailname'
sudo postconf -e 'inet_interfaces = loopback-only'
sudo postconf -e 'inet_protocols = ipv4'
sudo postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost'
sudo postconf -e 'relayhost = [smtp.example.local]:25'relayhost を使わない場合、サーバーから直接外部へ配送しようとします。通知用途では、内部の SMTP リレーやメール基盤へ渡す方が管理しやすいです。
送信元名を設定する
echo 'example.local' | sudo tee /etc/mailname
sudo systemctl restart postfix設定を確認する
postconf -n
systemctl status postfix --no-pager
ss -ltnp | grep ':25' || trueローカル MTA では、25 番ポートが外部インターフェースで待ち受けていないことを確認します。通知送信だけが目的なら、外部から SMTP 接続を受ける必要はありません。
テストメールを送信する
echo 'Postfix local MTA test' | mail -s 'postfix local test' admin@example.local
sudo tail -n 50 /var/log/mail.logroot 宛てメールを転送する
システム通知が root 宛てに届く場合、管理者アドレスへ転送する aliases を設定します。
sudo tee -a /etc/aliases <<'EOF'
root: admin@example.local
EOF
sudo newaliases
sudo systemctl reload postfix運用上の注意
- ローカル通知用途では外部から SMTP を受けない
- 直接外部配送ではなく relayhost に渡す構成を基本にする
- root 宛て通知の転送先を明示する
- メールログで配送失敗を確認する
- 受信や IMAP が必要な場合は Dovecot 側の記事で扱う
まとめ
Ubuntu 22.04 の Postfix ローカル MTA は、サーバー自身から通知メールを送るための最小構成です。外部公開メールサーバーとは目的が異なるため、待ち受け範囲を loopback に絞り、必要に応じて relayhost へ配送する構成にします。





