main.cf
設定ファイル
■設定変更後、postfix reload をお忘れなく
※パラメータは複数行に書くことができ、次の行の先頭を空白スペース(またはタブ)にすることで続きになる
逆に普通の行は先頭から始めなければいけない(空白スペースを空けてはダメ)
▲パラメータと同じ行にコメントは付けられないことにも注意
複数値を区切るときは、カンマ、スペース、タブ、新しい行 のいずれかを使う
パラメータの値が / から始まるときは、ファイルへのパスと見なされる
$をパラメータ値の前に置くことで、設定済みパラメータ値を参照できます
■/etc/postfix/main.cf で設定する
myhostname = mail.example.com 自ホストのホスト名を指定(FQDN 形式で、かつ DNSで引けること)
逆引きも要チェック
mydomain = example.com 自ホストのドメイン名を指定
mydestination = $myhostname, localhost.$mydomain, $mydomain 自ホストで受信するドメイン部
例 上記の場合は、user@mail.example.com、user@localhost.example.com、user@example.comを受信する
例2 mydestination = $myhostname, $mydomain, example.jp
example.comとexample.jpを受け取りたい場合
※注意※ ここに記載したドメインは全て自身で受信します。受信したらドメインは無視されアカウント名のみでメールボックスに配送されます。
inet_protocols = ipv4,ipv6 allでも良い(IPv6対応これ以外に設定としては特に無いが、mynetworks等にv6用IPを追加する事)
inet_interface = all 又はIP。複数のNICがある場合どのNICにsmtpdを使用させるかを限定する
× mynetworks_style = subnet リレーを許可する(信用する)ネットワーク範囲の指定
host(自ホストのみ)、subnet(自ホストの所属するサブネット)
class(自ホストの所属するクラス(サブネットマスクに関わらず))
※信用するとは・・・どこ宛のメールでも受け取って適切なサーバに中継する
※なお通常は下のmynetworksを使用するので、あまり使用しない
mynetworks = 127.0.0.0/8, 192.168.1.0/24
※注意※mynetworksが指定されている場合、mynetworks_styleは無効になる
× luser_relay = testuser 存在しないアカウントに送られた全てのメッセージを受け取るアドレス
ただしそうすると全てのスパムを受けることになるので、実際は使わない方が良い
local_recipient_maps = このシステムでメールを受け取るべきローカルユーザのリストを指定
(デフォルトではパスワード、エイリアス両ファイルが指定される)
空白にすることによりローカル受信は行わない
なおMySQLを使用する場合、問い合わせ設定ファイルを指定する
例 local_recipient_maps = mysql:/etc/postfix/mysql-local.cf
alias_maps エイリアスを定義しているマップを指定
alias_maps = dbm:/etc/mail/aliases, nis:mail.aliases
nisは今回使用してないので消しておく
alias_maps = dbm:/etc/mail/aliases
(Solarisじゃない場合) alias_maps = hash:/etc/mail/aliases
☆不正リレーのチェック
telnet relay-test.mail-abuse.org ここへtelnetアクセスすると行ってくれる
http://www.abuse.net/relay.html ここのWEBでもチェック可能
メールリレー
relayhost = [mailserver.example.com] メールの配送は全て指定したホストにまかせる
よって自ら配送する場合は不要な設定項目
smtp_fallback_relay = [fallback.example.com] 配送が失敗したとき配送代行するホスト(キューの管理も参照)
sender_dependent_relayhost_mapssender_dependent_relayhost_maps = dbm:/etc/postfix/sendersrelay
テーブル例 fromのドメインによって送信先を変える
@example.com [192.168.0.11]
@example2.com [192.168.0.12]
relayhostを送信者単位(from)で上書きする。Postfix2.3以降で使用可能
任意のホストにリレーする=トランスポートマップ
transport_maps = hash:/etc/postfix/transport トランスポートマップのルックアップテーブルを指定
※ルックアップテーブルのキーには、完全なメールアドレスか、ドメインとサブドメインを使う
※右辺の値は transport:nexthop の形式。
例 ルックアップテーブルの例
example1.com smtp:[192.168.1.100] example1.com宛のメールをSMTPで192.168.1.100へリレーする
.example1.com smtp:[192.168.1.100] 上記+サブドメインを含む場合でもリレーする
※nexthopはホスト名でも良い[ ]の意味は、DNSを参照しない。IPアドレスを書く場合は必須
メールボックス
mail_spool_directory = /var/mail ユーザのメールボックスの場所を設定
※なお/var/mail/配下のメールボックスのパーミッションは0600でなければ、受信時エラーになるので注意
mbox形式・・・1ユーザ1ファイルに全メールが保存されるsendmailと同じメールボックス形式
1ファイルなので、複数のプロセスが同時にメールボックスを処理すると
ファイルが壊れる恐れがあるため、排他制御を行なう必要がある
Maildir 形式・・・メールボックスはディレクトリで、1メール1ファイルの形式
ファイル名がユニークな名前になるように考えられているため、排他制御の必要はない
ただし、メールの数だけファイルが作成されるため、iノードを大量に消費する
/var/mail /var/mail/ユーザ名 のmbox形式となる
/var/mail/ Maildir 形式
mailbox_delivery_lock = fcntl, dotlock mbox 形式の排他制御方式を指定
使用できる方式は postconf -l で確認できる
「flock」「fcntl」「dotlock」の3つがある
その他
allow_min_user = no -で始まるアドレスを拒否。受けるにはyesにする
smtp_quote_rfc821_envelope = no
noにするとRFC821で要求されるようにSMTP MAIL FROM及びRCPT TOコマンドでのアドレスに
引用符("")をつけない。(デフォルトyes)
これは"."でローカル部分が終わるアドレスの前後に引用符を置くことも含む
つまりローカル部がドット終わりのメールも受け付ける
※ただしこれはエンベロープ(SMTPでやり取りされるコマンド)の中の事で、ヘッダーからは
取り除けない。またヘッダーから取り除く方法は無い。ただFromとToからは取り除かれる
[注意] local_header_rewrite_clients = static:all(Postfix2.2以前)を設定していると
常にメッセージヘッダを書き換えるため、FromやToも変わってしまうので注意
mail_name Received: ヘッダや SMTP グリーティングバナー、バウンスされたメールに表示される
メールシステム名 デフォルト:Postfix
smtp_host_lookup = dns
IPアドレスの名前解決を行う方法(デフォルトDNS)
ローカルホストの環境に依存した方法を使う(nsswitch.conf/nis等)の場合は、nativeを使用する
※例えば、hostsを参照させたいような場合もnativeを指定しないと、いきなりDNSを参照してしまうので注意
前へ トップへ