メモ > サーバ > 構築: メールサーバ設定 > Postfixの設定
Postfixの設定
メールサーバ構築に必要な基礎知識とセキュリティについての解説 | OXY NOTES
https://oxynotes.com/?p=4266
メールサーバー構築(Postfix+Dovecot) - CentOSで自宅サーバー構築
https://centossrv.com/postfix.shtml
Postfixの設定 | さくらインターネットのVPS設定マニュアル
https://www.sakura-vps.net/centos6-setting-list/postfix-settings-for-sakura-vps/
Mailサーバ(Postfix・Dovecot) | VPS設定のつぼ | VPS虎の巻 -VPS比較&設定のつぼ-
http://vps-tora.com/tsubo/sakura/postfix/
さくらインターネットのVPSサービス 「さくらのVPS」 導入手順 − 10.postfixの利用準備 | たりすまんサーバ技術録
http://hosting.talisnet.info/sakura-vps-10/
さくらインターネットのVPSサービス 「さくらのVPS」 導入手順 − 11.dovecotの利用準備 | たりすまんサーバ技術録
http://hosting.talisnet.info/sakura-vps-11/
Postfixおよび外部リレーの設定 - さくらのVPS徹底活用ガイド
https://sites.google.com/site/sakuravpsguide/postfix
さくらのVPSの設定 - メールサーバーの構築 | TipsZone
https://tipszone.jp/20120521_mail_server/
PostfixとDovecotでバーチャルメールボックスの設定をする - Qiita
https://qiita.com/dribble13/items/36847b944caed440d714
Postfixバーチャルメールボックス運用HowTo - Qiita
https://qiita.com/i13ame/items/d1355c6ab77b0461a7f5
Postfix + dovecot バーチャルメールボックスの設定を深堀する
https://web-creators-hub.com/linux/postfix3/
メール運用がロストテクノロジーになっていく話 - Qiita
https://qiita.com/koichiro/items/d65ac1af03b9063f0592
■Postfixのインストール
# yum list installed | grep postfix … Postfixがインストールされているか確認。
# yum -y install postfix … Postfixをインストール。(Amazon Linux 2 では、はじめからインストールされている。)
■バーチャルメールボックス管理のためのユーザを作成
※バーチャルメールボックスを使い、UNIXユーザとは別にメールユーザを管理する。
# groupadd -g 10000 mailuser
# useradd -u 10000 -g mailuser -s /sbin/nologin mailuser
■バーチャルメールボックス作成
# mkdir /home/virtualmail
# chown -R mailuser:mailuser /home/virtualmail
■Postfixの設定
Postfixでバーチャルメールボックスを有効にし、バーチャルドメイン宛てのメールを受け取る - Postfix Tips & FAQ
https://www.ipentec.com/document/linux-postfix-enable-virtual-domain-and-virtual-mailbox
SASLの設定 - Qiita
https://qiita.com/nkiw/items/cbddeaba18f8c010fb5e
PostfixのSMTP認証で利用するCyrus SASLライブラリについて | OXY NOTES
https://oxynotes.com/?p=4428
SMTP認証 (SMTP-AUTH) とは、メール送信時に送信者がユーザ本人であることを確認するために、SMTPサーバでユーザ認証を行うもの。
(以前は「POP before SMTP」で迷惑メール対策を行うことが多かったが、現在は使われなくなっている。)
PostfixではSMTP認証に「SASL(Simple Authentication and Security Layer / サスル)」というライブラリを利用する。
# vi /etc/postfix/main.cf
サブミッションポート(587番ポート)は、
メール送信の際に認証を利用できるようにしたもの。
詳細は以下を参照。
サブミッションポートとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
https://wa3.i-3-i.info/word1773.html
CentOS7 Postfix + SMTP-Auth/Submission Port - Qiita
https://qiita.com/yoshidna/items/2d0b89086914a7be73a4
Postfix サブミッションポート(587番ポート)を有効にする手順 | mebee
https://mebee.info/2020/05/27/post-11828/
CentOS 7 の Postfix で独自ドメインの設定 - Qiita
https://qiita.com/bezeklik/items/438eadbdb06672f3c3b6
■Postfixの設定補足
送信元アドレスが info@mail.example.com になる場合、/etc/postfix/main.cf で以下のように設定するといいみたい。
これはオプション設定で項目は用意されていないため、ファイルの最後に追記するといい。
#myhostname = virtual.domain.tld
myhostname = mail.refirio.net … ホスト名(FQDN)を設定。(複数台構成のWebサーバから送信するなら、web1.refirio.net といった値にするといいみたい。)
#mydomain = domain.tld
mydomain = refirio.net … ドメインを設定。
#myorigin = $mydomain
myorigin = $mydomain … ローカルからのメール送信時、送信元メールアドレスの@以降にドメイン名を付加。
#inet_interfaces = localhost
inet_interfaces = all … SMTP接続を待ち受けるネットワークインターフェース。(localhostは自分自身からのメールのみ受け取る設定で、他SMTPサーバからの接続を受け付けない。送信専用サーバならデフォルト値localhostのままでいい。)
mydestination = $myhostname, localhost.$mydomain, localhost … 受け取るべきメールのドメイン。(今回は変更なしだが、「mydomain」の設定次第では最後に「, $mydomain」を付けておくといいか。)
#home_mailbox = Maildir/
home_mailbox = Maildir/ … ホームディレクトリからの相対パスでメールボックスを指定。
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP unknown … メールサーバーソフト名の隠蔽化。
# 以下、最終行へ追記
smtpd_sasl_auth_enable = yes … SMTP認証を有効にする。
smtpd_recipient_restrictions = … SMTP認証を使用する場合はこの設定にする。
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
message_size_limit = 10485760 … 受信メールサイズを10MB(10*1024*1024)に制限。
virtual_mailbox_domains = /etc/postfix/vdomains … バーチャルメールボックスドメインで受信するドメイン。
virtual_mailbox_base = /home/virtualmail … メールが保存されるディレクトリ。
virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox … 有効な受信者アドレス全てを持つ検索テーブル。
virtual_uid_maps = static:10000 … バーチャルメールボックスは、すべて固定された uid 10000 が所有する。
virtual_gid_maps = static:10000 … バーチャルメールボックスは、すべて固定された gid 10000 が所有する。
local_recipient_maps = … Postfix SMTP サーバでのローカル受信者チェックを無効にする。(空欄を指定。)
luser_relay = unknown_user@localhost … 存在しないアカウントに送信されたメールを特定のアドレスに送付。
# echo unknown_user: /dev/null >> /etc/aliases … 存在しないアカウントに送信されたメールを破棄。
# newaliases … 転送設定反映。
# vi /etc/postfix/vdomains … バーチャルメールボックスドメインで受信するドメインを設定。(ファイルを新規作成。)
refirio.net
stg.refirio.net … stg.refirio.net も設定する場合。
# vi /etc/postfix/virtual-mailbox … 有効な受信者アドレス全てを持つ検索テーブルを設定。(ファイルを新規作成。)
info@refirio.net refirio.net/info/Maildir/
# vi /etc/postfix/master.cf … サブミッションポートを設定。(OP25Bの対応。)
#submission inet n - n - - smtpd
submission inet n - n - - smtpd … サブミッションポートを有効にする。
# -o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_auth_enable=yes … サブミッションポートで、SASL認証を実施。(先頭のスペースの数は2つ必要みたい。)
# vi /etc/sasl2/smtpd.conf
#pwcheck_method: saslauthd
pwcheck_method: auxprop
masquerade_domains = example.com
CentOSとPostfixを使って送信専用のメールサーバーを構築する方法 - レムシステム エンジニアブログ
https://www.rem-system.com/mail-postfix01/
メールサーバ再入門 - Qiita
https://qiita.com/fururun02/items/7e99c0a237a8cfdab848
■Postfixの設定確認
# postconf … 現在の設定値を表示。
# postconf -d … デフォルト値を表示。
# postconf -n … デフォルト値と異なる設定値のみを表示。
Postfixの設定確認をしてみる - Qiita
https://qiita.com/emowl/items/06bdffa83e36b7dddd30
# postfix check … 設定をチェック。(エラーが表示されなければ問題無い。)
Postfixの設定ファイル(main.cf)の文法チェック │ TEAM T3A
https://www.t3a.jp/blog/infrastructure/postfix-check-grammar/
■Postfixの起動
# systemctl start postfix … 新規にインストールした場合は起動。
# systemctl restart postfix … すでにインストールされていた場合は再起動。
# systemctl enable postfix