Postfix の設定は簡単? そんなことはありません。
悪戦苦闘しなければならないほど、標準以外の設定はよくわかりません。POP before SMTP とか、SMTP AUTHとか。qmailもこれらはオプションですが、いまさら標準で実装していないのはどうかと。
last update 2004.8
必要な基礎知識
rpm で入れてしまいます。sendmail からの置き換えの解説などはいまさら不要だと思いますので省略です。
オプション
送信のためにどちらを使うか、決めておきましょう。SMTP-AUTHの方がいいですが、日本語資料はまだあまりないようです。
sasl
main.cf を編集します。rpm では /etc/postfix/main.cf などの各種ファイルです。main.cf だけ編集すればいいようです。qmail の設定ファイルと比べて、少しわかりにくい。
main.cf は何でも書いてしまえるのですが、書式を間違えていても、エラーとして表示されないようなので困ったものです。
次の説明は適当に書いています
myhostname = サーバ名、名乗るときなどに使われる smtp.example.com など
mydoamin = ドメイン名 example.com など
myorigin = 内部から送信するときに自動で付加するドメイン名? host.example.com や example.com など
inet_interfaces = all
とりあえず受信に使うIPアドレス? 複数IPを持っている内の、どれを使うかですね。allでいいのではないかな。
relay_domains = 他のサーバへ送信するメールを中継するサーバで受信するドメインを指定する。普通は必要ないでしょうね。
relayhost = 外部にメールを配送するときに中継するsmtpサーバ。普通は不要
mydestination 受信するドメイン、サーバ名。この名前がない送信先アドレスは拒否する
smtpd_recipient_restrictions = POP before SMTP やSMTP-AUTHのときに設定する、前から順番に参照していくようです?
permit_mynetworks mynetworks で指定したIPから、無条件許可
check_relay_domains 中継用のドメインを受け付け (Postfix 1.xのみ?)
permit_sasl_authenticated sasl認証できたものは許可
permit_auth_destination なに?
reject それ以外は拒否
reject_unauth_destination
$mydestination $inet_interfaces $virtual_alias_domains $virtual_mailbox_domains
$relay_domains 以外拒否
設定が終わると、postfix check で確認したふりをしてから postfix reload として反映します。
/usr/lib/sasl/smtpd.conf
認証の方法には何種類かあります。Unixアカウントと同じにする方法、別にパスワードを設定する方法
同じにする方がいいですね、ということで同じにする方法について
Linuxのパスワードは、大抵 /etc/passwd ではなく /etc/shadow で管理されています。これには root からしかアクセスすることができません。postfixやsasl は root 権限では動いていないようですので、直接算しようすることができません。service saslauthd を開始しておくと、saslauthd がかわりにshadowファイルを見てくれるようで、こうすることでUnixパスワードの認証もできます。
pwcheck_method: の書式
pwcheck_method: { pwcheck | sasldb | saslauthd | auxprop | shadow | その他いろいろ }
設定 | |
pwcheck | 古い? saslauthd に変えた方がいいのか? |
sasldb | 設定ファイルに認証用の設定をする |
saslauthd | /etc/rc.d/init.d/saslauthd があれば、これを使える |
auxprop | |
shadow | shadow ファイルを直接参照する 参照できるグループに属していなければならないが、危険? |
http://www.elephanet.com/~ozi/mta/sysadmin.html
/usr/lib/sasl/smtpd.conf に、次の設定をします。
pwcheck_method: 上のなかのどれか
saslauthd などの場合には次のも指定します
mech_list: plain login
/etc/postfix/main.cf には、
# SASL認証を使うかどうか
smtpd_sasl_auth_enable = yes
# なに
smtpd_sasl_auth_localdomain = ?
#
Outliik的認証も許可するか?
#
broken_sasl_auth_clients = yes
# 中継許可の方法一覧
smtpd_recipient_restrictions = (謎)
drac だそうです。qpopper と共に使いますか。
参考
真似て書くのは簡単なのですが、正しい文法はどうなのだろうと探してみると、よく知らなかったりします。