[ruby-list:50689] Fwd: Resolv::DNSのMXレコード取得について
From:
wataru koyama <koyama777wataru@...>
Date:
2018-07-27 02:35:26 UTC
List:
ruby-list #50689
お世話になっております。小山渉です。
私の勘違いにより、間違ったサンプルのドメインを提示してしまいましたので、
再度送信いたします。
下記のように、ドットが2つ続かなければ存在するようなドメインにて、起きた現象でした。
bear..so-net.ne.jp
kitten..so-net.ne.jp etc
上記のメールアドレスを用いて
records = Resolv::DNS.open do |dns|
dns.timeouts = 1
records = dns.getresources('bear..so-net.ne.jp ',
Resolv::DNS::Resource::IN::MX)
end
p records #=> 値が返ってくる
そして同様の確認をnslookupコマンドにて行うとMXレコードが取れないと判定されます。
nslookup
> set q=MX
> bear..so-net.ne.jp
以上です。失礼いたします。
---------- Forwarded message ---------
From: wataru koyama <koyama777wataru@gmail.com>
Date: 2018年7月26日(木) 14:35
Subject: Resolv::DNSのMXレコード取得について
To: <ruby-list@ruby-lang.org>
はじめまして。小山渉です。
Resolv::DNSのMXレコード取得についてについて質問させてください。
MXレコードが取得できる場合に正常なメールドメインと判定しようと下記のようなコードを記載しました。
コードの意図としては
*recordsが空なら 不正なメールドメイン
*recordsに何か入っていれば 正常なメールドメイン
という感じです。
ただ、'hoge..gmail.com'のような不正なドットが続くタイプで行うとMXレコードが取得でき、正常なものと判定されてしまいました。
records = Resolv::DNS.open do |dns|
dns.timeouts = 1
records = dns.getresources('hoge..gmail.com',
Resolv::DNS::Resource::IN::MX)
end
p records #=> 値が返ってくる
そして同様の確認をnslookupコマンドにて行うとMXレコードが取れないと判定されます。
nslookup
> set q=MX
> hoge..gmail.com
私のResolv::DNSの使い方が間違っているのか、もし違う方法にて、hoge..gmail.com
をMXレコードが存在しないものと判定できる方法がありましたら、
ご教授いただけると幸いです。
環境はcentos 6.9
ruby 2.3.3p222
以上です。失礼いたします。