蜜蜂号覚書 sendmail

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

sendmail

設定

access

転送可否を記述するBlackList&WhiteList。自分で設定可能。
[domain]<tab>[control]
[domain] ドメイン名やIPアドレス、メールアドレス。一部でもかまわない?
ドメイン ... example.com
IPアドレス ... 127.0.0.1
メールアドレス ... spam@example.com
ユーザ名 ... spam@
[control] OK, REJECT, RELAY など。エラーステータスを記述することも可能?
OK ... 転送許可
REJECT ... 拒否
RELAY ... RELAY許可
例:
example.com REJECT #example.comからのメールをすべて拒否する。
192.168 REJECT #192.168.x.x(プライベートアドレス)からのメールをすべて拒否
spam@example.com REJECT #spam@example.comというメールアドレスからのメールをすべて拒否
spam@ REJECT #spamという(全ドメイン)ユーザのメールをすべて拒否。
whilelist.com RELAY # whitelist.comドメインからのメールをすべてRELAYする。

平文で記述後、以下のコマンドでhash化。(高速アクセスのため?)
makemap hash [access.db] < [access]
[access.db] hash化後のファイル
[access] 平文で書いた元ファイル。
※access.dbを作り直しても下記設定が反映済みならばsendmailの再起動は不要。(ファイル作成時点から反映されるの)

設定

sendmail.cfの元ファイルに以下を追加。詳細は調べてくれ。(僕もよくわかってない)
FEATURE(`access_db', `hash -o /etc/mail/access')dnl
sendmail.cfに反映後、sendmailを再起動。

設定の確認

下記コマンドで設定のテストが可能。sendmail再起動前にテストできるので、設定変えるなら必ずテストするように習慣付けたほうがよいと思う。
/usr/sbin/sendmail -bt -C /etc/mail/sendmail.cf
#テストモードにプロンプトが切り替わる
/parse test@localhost
test@localhost(ローカルユーザ)のチェックを行う。
だらだらとパース結果が表示される。
一番最後の行?に
mailer local, user test
と表示されたらメールが送信可能。
/parse test@example.com
test@example.com(外部ドメイン)のチェックを行う。
だらだらとパース結果が表示される。
一番最後の行?に
mailer esmtp, host example.com, user test@example.com
と表示されたらメール送信可能。
最後の行付近に
Transient parse error -- ...
などと表示されたら送信できない。
/quit
でプロンプトから抜ける。

参考