手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 22.04 Postfix 内部向けメールサーバー – relayhost と配送設計

Ubuntu 22.04 で内部向け Postfix メールサーバーを構築する手順です。ここでは、外部公開の MX サーバーではなく、内部システムやサーバー群から通知メールを受け取り、必要に応じて relayhost へ配送する SMTP 基盤として整理します。

Postfix は SMTP の送受信と配送を担当します。一方、ユーザーがメールボックスを IMAP で読む場合は Dovecot の役割になります。この記事では、内部向け SMTP 基盤としての Postfix に焦点を置きます。

参考書籍
参考書籍

Postfix詳解 MTAの理解とメールサーバの構築・運用

Postfix を中心にメールサーバーの構築と運用を確認したい場合の参考書籍です。Dovecot と組み合わせたメール基盤を理解する補助として使えます。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

関連するメールサーバー記事

Postfix と Dovecot は役割が異なります。ローカル通知、内部向け SMTP、IMAP 受信を分けて読むと、メール基盤の責務を整理しやすくなります。

内部向け Postfix の位置づけ

要素役割
PostfixSMTP 受信、配送、リレーを扱う MTA
relayhost外部配送や上位メールサーバーへの中継先
aliasesローカル宛先の転送や管理者宛て通知を扱う
DovecotIMAP / POP3 とメールボックス閲覧を扱う
DNS / MX外部公開メールでは重要。内部用途では設計次第

Postfix をインストールする

sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y postfix mailutils

main.cf を設定する

内部ネットワークから SMTP を受ける場合、mynetworks を明示します。広すぎる mynetworks は意図しないリレーの原因になるため、内部ネットワークに限定します。

sudo postconf -e 'myhostname = mail.example.local'
sudo postconf -e 'mydomain = example.local'
sudo postconf -e 'myorigin = $mydomain'
sudo postconf -e 'inet_interfaces = all'
sudo postconf -e 'inet_protocols = ipv4'
sudo postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain'
sudo postconf -e 'mynetworks = 127.0.0.0/8, 10.1.0.0/16'
sudo postconf -e 'relayhost = [smtp.example.local]:25'
sudo postconf -e 'home_mailbox = Maildir/'

重要な設定項目

設定意味
myhostnameメールサーバー自身の FQDN
mydestinationこの Postfix が最終配送先として扱うドメイン
mynetworksリレーを許可する送信元ネットワーク
relayhost上位 SMTP サーバーや外部配送先
home_mailboxローカル配送時のメールボックス形式

submission を使う場合

内部クライアントから認証付き SMTP 投稿を受ける場合は、25 番の単純なリレーではなく submission の設計を検討します。ここではサービス有効化の例だけ示します。

sudo postconf -M submission/inet='submission inet n - y - - smtpd'
sudo postconf -P submission/inet/syslog_name=postfix/submission
sudo postconf -P submission/inet/smtpd_tls_security_level=may
sudo systemctl reload postfix

実運用で submission を使う場合は、SASL 認証、TLS、許可するクライアント、ログ監視を合わせて設計します。

aliases を設定する

sudo tee -a /etc/aliases <<'EOF'
root: admin@example.local
postmaster: admin@example.local
EOF

sudo newaliases

設定を確認する

postfix check
postconf -n
systemctl status postfix --no-pager
ss -ltnp | grep ':25'

送受信をテストする

echo 'internal postfix test' | mail -s 'internal postfix test' admin@example.local
sudo tail -n 100 /var/log/mail.log

Postfix と Dovecot の責務分離

Postfix は SMTP と配送を担当し、Dovecot は IMAP / POP3 とメールボックス閲覧を担当します。メールが Maildir へ配送されても、ユーザーがメールクライアントから読むには Dovecot 側の設定が必要です。

運用上の注意

  • mynetworks を広げすぎない
  • 外部公開する場合は SPF、DKIM、DMARC、逆引き DNS、迷惑メール対策を別途設計する
  • 内部通知用途では relayhost を明確にする
  • mail.log を見て配送失敗を確認する
  • IMAP が必要な場合は Dovecot と Maildir の整合性を確認する

まとめ

Ubuntu 22.04 の内部向け Postfix は、サーバーや内部システムの通知を受け、必要に応じて relayhost へ配送する SMTP 基盤として構成します。重要なのは、外部公開メールサーバーと混同せず、mynetworksrelayhost、aliases、ログ確認を明示することです。

Ubuntu 22.04 Postfix 内部向けメールサーバー – relayhost と配送設計

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る