sendmail 8.9.x 以降のバージョンでは sendmail.mc ファイルの LOCAL_CONFIG の下へ以下の項目を記入します。
# dynamic relay authorization control map Kdrac btree /etc/mail/dracdまた、LOCAL_RULESETS の下にも項目を追加します。
SLocal_check_rcpt # allow recent POP/IMAP mail clients to relay R$* $: $&{client_addr} R$+ $: $(drac $1 $: ? $) R? $@ ? R$+ $@ $#OK(※左右の文字列にあるのは空白ではなくタブ[TAB]です。空白では動作しません。mc ファイルへの記入時にはご注意下さい。)
もし DUL*1によってダイヤルアップ接続時に弾かれるようであれば、DRAC で認証されたユーザが接続できるように .mc ファイルに SLocal_check_relay ルールセットの追加が必要となります。
各ルールの両サイド間にはタブが挿入されています!
.cf フィルを再構築後に sendmail.cf をセットして sendmail の SMTP デーモンを再起動します。直接 sendmail.cf ファイルを編集しないでください。.mc ファイルから構築する方法が、より安全な手法です。
Mike McHenry?氏に調整を行った sendmail.mc を提供して頂きました。
sendmail はバージョン 8.11.0 に適合するように書き加えてありますが、場合によっては正しく動作しない場合もあるかもしれません。これらのルールはメールサーバとして中継の確認とスパムフィルタリング機能を正しく機能するように調整してあります。まずはじめに、sendmail.mc ファイルの例を示しますので、drac を用いた sendmail.cf ファイルを作るために sendmail.mc を手動調整する箇所が分かるでしょう。
EXAMPLE MC FILE: OSTYPE(`linux')dnl define(`confAUTO_REBUILD')dnl define(`confCONNECTION_RATE_THROTTLE',40)dnl define(`confMAX_HOP',30)dnl define(`confMAX_MESSAGE_SIZE',10000000)dnl define(`confPRIVACY_FLAGS',`authwarnings,needmailhelo')dnl define(`confQUEUE_LA',5)dnl define(`confREFUSE_LA',10)dnl define(`confTO_CONNECT', `1m')dnl define(`confTO_IDENT',0s)dnl define(`confTO_QUEUEWARN', `12h')dnl define(`confTRY_NULL_MX_LIST',true)dnl define(`STATUS_FILE',`/etc/mail/sendmail.st')dnl define(`ALIAS_FILE',`/etc/mail/aliases')dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl MAILER(`smtp')dnl FEATURE(`local_procmail', `/usr/bin/procmail')dnl FEATURE(`always_add_domain')dnl define(`MASQUERADE_NAME',`domain.com.')dnl FEATURE(`limited_masquerade')dnl define(`confCW_FILE',` /etc/mail/sendmail.cw')dnl FEATURE(`use_cw_file')dnl FEATURE(`accept_unresolvable_domains')dnl FEATURE(`redirect')dnl FEATURE(`virtusertable',` hash -o /etc/mail/virtusertable')dnl FEATURE(`access_db')dnl FEATURE(`blacklist_recipients')dnl FEATURE(dnsbl, `rbl.maps.vix.com', `Rejected - see http://www.mail-abuse.org/rbl/')dnl FEATURE(dnsbl, `dul.maps.vix.com', `Dialup - see http://www.mail-abuse.org/dul/')dnl FEATURE(dnsbl, `relays.mail-abuse.org', `Open spam relay - see http://www.mail-abuse.org/rss/')dnl LOCAL_CONFIG # dynamic relay authorization control map Kdrac btree -o /etc/mail/dracdsendmail.cf に調整を行うため、手作業で以下の項目を入力します。
SLocal_check_rcpt の最後では DRAC によって認証できなかったメールを排除する指定です。
# POP/IMAP を許可する直近のクライアント R$* $: $&{client_addr} R$+ $: $(drac $1 $: ? $) R? $: R$+ $@ RELAYFROM # それ以外は偽装 R$* $#error $@ 5.7.1 $: "550 Relaying denied"もし MAPS DUL リストを利用しているのであれば、SBasic_check_relay にダイヤルアップ接続でも中継できるように許可を与える必要があります。
# POP/IMAP を許可する直近のクライアント R$* $: $&{client_addr} R$+ $: $(drac $1 $: ? $) R? $: R$+ $@ RELAYFROM # DNS を元にした IP アドレスのスパムリスト rbl.maps.vix.com R$* $: $&{client_addr}以上で終わり! 調整を終えたら sendmail を再起動して設定を反映させます。
Postfix 向けに Jeff Johnson 氏から中継をする設定方法を提供して頂きました。
myhostname = mail.________.com mydomain = ________.com mydestination = $myhostname, localhost.$mydomain, $mydomain, mail.$mydomain, ns1.$mydomain relay_domains = $mydestination smtpd_recipient_restrictions = permit_mynetworks, check_client_access btree:/etc/mail/dracd, check_relay_domains