[PHP-users 24509] Re: メールサーバー確認方法

YOSHIMURA Keitaro ramsy @ ramix.jp
2005年 2月 14日 (月) 11:19:16 JST


らむじぃです。

ML間違えてませんか?メールシステムの話でしょう?
phpで書いてたとしても、それ以前の単なるアルゴリズムの話ですよね。

> 1.まず、@マーク以降(ホスト名)を「ping」で叩く。
>   反応が返ってこなければDNSがないという理由で、メールサーバーも存在しない。 
@の右辺はホスト名ではありません。domain partです。
世の中にはNDRを返すときに自身のFQDNではなくdomain nameで返す所もあります。
やるべきはDNSでの名前解決であり、いきなりpingを叩くのはナンセンスです。
あと、icmp pingをfilterしている所もままありますのでそういう意味でもナン
センスかな。

> 2.上記ホスト名を使いMXレコードを検索する。
>   見つかった場合、メールサーバーは存在する。
>   見つからなければ、「3.」に進む。
MX -> A と探すべきです。

> 3.上記ホスト名にtelnetで25番ポートに接続テストをする。
>   反応がなければメールサーバーは存在しない。
outboundとinboundでip addressが違うことはままあります。
その判定ロジックは無意味かと思いますけど。
# 実際、某社に納めたシステムでは別々になりました。

-- 
<|> YOSHIMURA Keitaro/ramsy
<|> ramsy @ ramix.jp
<|> http://ramix.jp/~ramsy/



PHP-users メーリングリストの案内