sendmail
$CREATE 07/03/2002 by Mie Suemitsu
CF で作成する sendamil.cf を利用してメールの送受信を拒否する方法
CF のインストール
CF で作成する sendamil.cf を利用してメールの送受信を拒否する方法
特定のドメインより送信されてくるメールを受信拒否する
/usr/local/src/CF-3.7Wpl2/sendmail.def を編集する
# cd /usr/local/src/CD-3.7Wpl2
# vi sendmail.def
以下の2行を追加
REJECT_SOURCE_ROUTE_RELAY=yes
SPAM_LIST=hash:/etc/mail/sendmail.spamlist
sendmail.cf を作成し /etc/mail にコピーする
# make sendmail.cf
# cp sendmail.cf /etc/mail
sendmail.spamlist を作成する
# cd /etc/mail
# vi sendmail.spamlist
xxxxxx.com discard
xxxx.co.jp any comment
受信拒否するドメインを記述する
any comment はエラーメッセージを返す
discard はエラーメッセージを返さずメールは消滅する
sendmail.spamlist.db を作成する
# makemap hash /etc/mail/sendmail.spamlist.db < /etc/mail/sendmail.spamlist
sendmail を再起動する
# ps ax | grep sendmail
# kill -HUP {PID}
特定ドメインへのメール送信を拒否する
/usr/local/src/CF-3.7Wpl2/sendmail.def を編集する
# cd /usr/local/src/CD-3.7Wpl2
# vi sendmail.def
以下の2行を追加
REJECT_SOURCE_ROUTE_RELAY=yes
REJ_RCPT_LIST=hash:/etc/mail/sendmail.rejrcpt
sendmail.cf を作成し /etc/mail にコピーする
# make sendmail.cf
# cp sendmail.cf /etc/mail
sendmail.rejrcpt を作成する
# cd /etc/mail
# vi sendmail.rejrcpt
xxxxxx.com discard
xxxx.co.jp any comment
送信拒否するドメインを記述する
any comment はエラーメッセージを返す
discard はエラーメッセージを返さずメールは消滅する
sendmail.rejrcpt.db を作成する
# makemap hash /etc/mail/sendmail.rejrcpt.db < /etc/mail/sendmail.rejrcpt
sendmail を再起動する
# ps ax | grep sendmail
# kill -HUP {PID}
一度データベースを作成しておくと、リストを変更するたびに sendmail を再起動する必要はない
CF
1.CF を入手
# cd /usr/local/src
ftp:ftp.kyoto.wide.ad.jp/pub/mail/CF/CF-3.7Wpl2.tar.gz を get
ftp:ftp.kyoto.wide.ad.jp/pub/mail/CF/CF-3.7Wpl2-smtpcheck.pache1
ftp:ftp.kyoto.wide.ad.jp/pub/mail/CF/CF-3.7Wpl2-smtpcheck.pache2
2.展開
# tar zxvf CF-3.7Wpl2.tar.gz
# ln -s CF-3.7Wpl2 CF
3.パッチを当てる
# cd CF/Master
# pache < /usr/local/src/CF-3.7Wpl2-smtpcheck.pache1
# pache < /usr/local/src/CF-3.7Wpl2-smtpcheck.pache2
4.コンパイル・インストール
# cd ..
# make cleantools
# make tools
# make samples
5.sendmail.cf を作成
# cd Standards
# cp sendmail-v8-def host-sendmail.def
# vi host-sendamil.def
OS_TYPE は Master/OSTYPE ディレクトリィ参照
その他設定は MANUAL.jpn 参照
# make sendmail.cf
# cp sendamil.cf /etc/mail/
6.sendmail を再起動
# ps ax | grep sendmail
# kill -HUP [sendmail_PID]
FreeBSD にインストールして
host1 sendmail[12196]: e9RAJVC12196: from=user1, size=30, class=0, nrcpts=1, msgid=<200010271019.e9RAJVC12196@host1.my.domain>, relay=user1@localhost
Oct 27 19:20:02 host1 mail.local: lockmailbox /var/mail/user2 failed; error code 75
のようなエラーメッセージを吐く場合は
LOCAL_MAILER_FLAG_ADD='S'
を .def ファイルに追加
http://www.jp.freebsd.org/QandA/HTML/1729.html を参照