現状は理解しているわけでは おへん 試行錯誤してみよう
このような sendmail に関する log が 残ってると します 適当に改行をし てるが 雰囲気は 理解できるでしょう。
Sep 13 13:53:40 servertest sendmail[5820]:\ j8D4rdtZ005820: ruleset=check_rcpt, arg1=<popogigi1975@yahoo.com.tw>, \ relay=[219.133.247.112], reject=550 5.7.1 <popogigi1975@yahoo.com.tw>\ ... Relaying denied. IP name lookup failed [219.133.247.112] Sep 13 13:54:31 servertest sendmail[5820]: j8D4rdtZ005820: \ lost input channel from [219.133.247.112] to MTA after rcpt Sep 13 13:54:31 servertest sendmail[5820]: j8D4rdtZ005820: \ from=<dgsergser@aol.com>, size=0, class=0, nrcpts=0, proto=SMTP, \ daemon=MTA, relay=[219.133.247.112]
さて 以下のように 仮定してみましょう 
arg1=<popogigi1975@yahoo.com.tw>これが 検査の対象と なると云うことです
relay=[219.133.247.112] これが 要求してきた サーバーの  IP アドレスと云うことです。
from=<dgsergser@aol.com> これが 送信者メールのアドレスと云うことです。
popogigi1975@yahoo.com.tw  :: dig yahoo.com.tw の 結果は 202.43.195.13
219.133.247.112            :: dig -x 219.133.247.112 の 結果は 
                                        中国の IP アドレスの ようです
dgsergser@aol.com          :: dig aol.com の 結果は 205.188.142.182
                                                     64.12.50.151
此の仮定から 考えられる事は popogigi1975@yahoo.com.tw は この IP アド レス [219.133.247.112 ] では 無いと 考えられます 又 発信者 も dgsergser@aol.com は まったく 別の IPアドレス 2個有りますが そこから 発 信 (送信)してきています というような 感じです
実は試験方法も 良く理解できていないのですが 取り敢えず 試行錯誤してみ ましょう。 まず現在 動いている sendmail を 停止 してから
$ su - Password: # ps ax | grep sendmail | grep -v grep 86 ? S 0:00 sendmail: accepting connections # kill 86 # ps ax | grep sendmail | grep -v grep
アドレステストモードで 動かします
# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
/* まず アドレステストモードにて 立ち上げてみます                      */
/*  試験方法 これが 正解か どうかはさておき 以下の 仮定の試験をします  */
/*  使用する エリアの 確認をしておきます                               */
> ${client_name}
Undefined
> ${client_addr}
Undefined    /*    ここで 使用する ものを 決めてやります               */
> .D{client_addr}219.133.247.112          /* 発信者のIPアドレス        */
> check_rcpt popogigi1975@yahoo.com.tw    /* 発信者のメールアドレス    */
/* これは 送信してきたという 意味では 有りません                       */
/*  popogigi1975@yahoo.com.tw が 219.133.247.112  の ものとして        */
/*  仮定してるのであり 本当の所は 偽物と 考えられます                  */
...    /*  途中省略して                */
Relay_ok         returns: popogigi1975 @ yahoo . com . tw
Basic_check_rcpt returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
check_rcpt       returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
 /*  結果云々は   "550 Relaying denied" です 試験方法自体 良いのか悪いのか わからないが  */
.../* さて これも 良いのか悪いのかわからないが まず アドレステスト モード を 再起動します */
> /quit
# /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Undefined            /*  何にも無いよ      */
> ${client_addr}
Undefined            /*  何にも無いよ      */
> .D{client_name}yahoo.com.tw
> ${client_name}     /*  確認しておきます  */
yahoo.com.tw
> check_rcpt popogigi1975@yahoo.com.tw
Relay_ok         returns: RELAY
Basic_check_rcpt returns: RELAY
check_rcpt       returns: RELAY
 /*  これは よいのですか? それでは   */
> ${client_addr}
Undefined
> ${client_name}
yahoo.com.tw
> .D{client_addr}219.133.247.112  /* {client_addr}を 決めてやります */
> ${client_addr}
219.133.247.112
> ${client_name}
yahoo.com.tw
/* これは 当然 おかしな組合せに なっているはずです  ここで 次の試験をします */
> check_rcpt popogigi1975@yahoo.com.tw
...
Relay_ok         returns: yahoo . com . tw
Basic_check_rcpt returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
check_rcpt       returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
/* 結果は  "550 Relaying denied" ですが これは 試験方法 も 含めて 良いのでしょうか?  */
/* 最後に これをやっておきましょう 送信者メールのアドレスを 決めてみます */
> ${client_addr}
219.133.247.112
> ${client_name}
yahoo.com.tw
/* 此処までは変化しません そのままの状態です                     */
>  .Dfdgsergser@aol.com   /*  送信者メールのアドレスを 決める    */
> $f
dgsergser@aol.com         /*   確認                              */
/*  さて 受信者を 決めねばいけんのかも しれません が             */
/* わからないので 送信者受信者 同じで まず 試験を してみましょう */
> check_rcpt dgsergser@aol.com
...
Relay_ok         returns: yahoo . com . tw
Basic_check_rcpt returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
check_rcpt       returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
/* 結果は       "550 Relaying denied"  と云うことです                */
/*  もう一つ メールアドレスが 有りました popogigi1975@yahoo.com.tw   */
/* これで 試験をしてみましょう                                       */
> ${client_addr}   /*   発信者のIPアドレス          */
219.133.247.112
> ${client_name}   /*     発信者のFQDN              */
yahoo.com.tw
> $f               /* 発信者のメールアドレス        */
dgsergser@aol.com
> check_rcpt popogigi1975@yahoo.com.tw
...
Relay_ok         returns: yahoo . com . tw
Basic_check_rcpt returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
check_rcpt       returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied"
 /*  結果云々は   "550 Relaying denied" です 試験方法自体 吟味必要ですが  */
注意 試験方法自体 意味が有るのかどうか 含めて 吟味する必要が有ります これは 悪魔で 試行錯誤の結果にしかすぎません
ルールを 見る方法として 以下の様な方法が 有るようです
> =Scheck_rcpt
R$*             $: $1 $| $> Local_check_rcpt $1 
R$* $| $# $*            $# $2 
R$* $| $*               $@ $> Basic_check_rcpt $1 
> =SBasic_check_rcpt
R< >            $# error $@ nouser $: "553 User address required" 
R$@             $# error $@ nouser $: "553 User address required" 
R$*             $: < $&{deliveryMode} > $1 
R< d > $*               $@ deferred 
R< $* > $*              $: $2 
R$*             $: $1 $| @ $> Rcpt_ok $1 
R$* $| @ $# TEMP $+             $: $1 $| T $2 
R$* $| @ $# $*          $# $2 
R$* $| @ RELAY          $@ RELAY 
R$* $| @ $*             $: O $| $> Relay_ok $1 
R$* $| T $+             $: T $2 $| $> "Relay_ok" $1 
R$* $| $# TEMP $+               $# error $2 
R$* $| $# $*            $# $2 
R$* $| RELAY            $@ RELAY 
RT $+ $| $*             $# error $1 
R$*             $# error $@ 5 . 7 . 1 $: "550 Relaying denied" 
> =SRelay_ok
R$*             $: $&{client_addr} 
R$@             $@ RELAY 
R0              $@ RELAY 
R127 . 0 . 0 . 1                $@ RELAY 
RIPv6 : : : 1           $@ RELAY 
R$=R $*                 $@ RELAY 
R$*             $: $> A < $1 > < ? > < + Connect > < $1 > 
R< RELAY > $*           $@ RELAY 
R< < TMPF > > $*                $# TEMP $@ 4 . 3 . 0 $: "451 Temporary system failure. Please try again later." 
R< $* > < $* >          $: $2 
R$*             $: [ $1 ] 
R$=w            $@ RELAY 
R$*             $: < $&{client_resolve} > 
R< TEMP >               $# TEMP $@ 4 . 7 . 1 $: "450 Relaying temporarily denied. Cannot resolve PTR record for " $&{client_addr} 
R< FORGED >             $# error $@ 5 . 7 . 1 $: "550 Relaying denied. IP name possibly forged " $&{client_name} 
R< FAIL >               $# error $@ 5 . 7 . 1 $: "550 Relaying denied. IP name lookup failed " $&{client_name} 
R$*             $: < @ > $&{client_name} 
R< @ > $* $=P           $: < ? > $1 $2 
R< @ > $+               $: < ? > $[ $1 $] 
R$* .           $1 
R< ? > $=w              $@ RELAY 
R< ? > $=R              $@ RELAY 
R< ? > $*               $: < $( access Connect : $1 $: ? $) > < $1 > 
R< ? > < $* >           $: < $( access $1 $: ? $) > < $1 > 
R< RELAY > $*           $@ RELAY 
R< $* < TMPF > > $*             $# TEMP $@ 4 . 3 . 0 $: "451 Temporary system failure. Please try again later." 
R< $* > < $* >          $: $2 
にゃんたろう 拝!
2006年 9月17日 (日) 21:38:17 JST  作成