Postfixの設定

カテゴリ:メールサーバ

以下では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

公開日時: 2014年07月20日  22:00:57

メールサーバに戻る

このページのトップに戻る