Postfixの設定
カテゴリ:メールサーバ
CentOS/Ubuntu 両対応
以下ではPostfixの基本的な設定を行います。
main.cfの設定
Postfixの設定ファイルmain.cfをviで開きます。
# vi /etc/postfix/main.cf
inet_interfaces
初期設定ではPostfixはlocalhostにしかバインドしていないため、すべてのNICでリスンするように、inet_interfacesの値をallに変更するか、コメントアウト(先頭に#を付ける)します。
※コメントアウトした場合、デフォルト値(all)が設定されます。
inet_interfaces = all
myhostname
ホスト名(FQDN)を指定します。
なお、同じドメインのVPSが1台のみの場合はドメイン名と同じでかまいません。
myhostname = ドメイン名
mydomain
ドメイン名を指定します。
mydomain = ドメイン名
myorigin
Postfixがローカルから送信した不完全な送信者のドメインを補完するためのパラメータを指定します。
例えば送信者アドレスが、rootのみなど、ドメイン部が指定されていない場合などで、補完が行われます。
myorigin = $mydomain
mynetworksもしくはmynetworks_style
オープンリレーを許可する接続元を指定します。
通常は送信元となる内部MTAを指定しますが、VPSの場合はSMTP認証済みのクライアント以外はオープンリレーを禁止する必要があるためhostを指定します。
hostは自ホストのみのオープンリレーを許可することを意味します。
つまり、VPS経由でメールを送信する場合は、SMTP認証を必須にする事を前提にするという事です。
mynetworks_style = host
relay_domains
リレーを許可するドメインを指定します。
mynetworksまたはmynetworks_styleに指定されていないMTA(通常は外部MTA)からのリレーを許可するドメインを指定します。
但し、通常はVPSは宛先(目的地)であって中継サーバー(中継地)ではないため、自分のドメインのみを許可します。
relay_domains = $mydestination
smtpd_tls_security_level
TLSのレベルですが、TLSを使わない場合はnoneにします。
smtpd_tls_security_level = none
mydestination
ローカル配信を行うドメインを指定します。
基本的にSMTP認証を行っていない接続元からの配送は、ローカル宛(自ドメイン宛)のみを受け取るように設定します。
SMTP認証無しでの、このパラメータ値以外の宛先へのリレーはすべて拒否します。
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
master.cfの設定
多くのVPSでは25番ポートでの接続を無効にしているため、サブミッションポートを有効にします。
その場合、メーラー側ではSMTPサーバーのポート番号として25番ではなく、サブミッションポート(587番ポート)を指定します。
submission inet n - n - - smtpd
SSLの設定
PostfixへのSSL証明書の設定を参照してください。
postconfコマンドによる設定値の変更と確認方法
現在の設定値はpostconfコマンドで確認できます。
二重定義を防止するため、 postconfコマンドを用いた設定変更をお勧めいたします。
# postconf inet_interfaces inet_interfaces = all
postconfコマンドでパラメータ値を変更する場合は -e を付けて実行します。
# postconf -e inet_interfaces=all
デフォルト値の確認はpostconfコマンドに -d を付けて実行します。
※デフォルト値はパラメータを指定していない場合(コメントアウトしたのも含む)にPostfixが内部的に持っている設定値です。
# postconf -d inet_interfaces inet_interfaces = all
Postfixの設定を反映
以下のコマンドでPostfixの設定を再読み込みして反映させます。
# systemctl reload postfix
公開日時:2014年07月20日 22:00:57
最終更新日時:2022年03月10日 21:25:29