2011-11-09 6 views
1

は、私はこのような電子メールドメインを検証:電子メールドメインを検証する最良の方法は何ですか?私のアプリケーションで

public bool DomainValid(string domainName) 
{ 
    try 
    { 
     IPHostEntry entry = Dns.GetHostEntry(domainName); 
     return true; 
    } 
    catch (Exception) 
    { 
     return false; 
    } 
} 

方法は良いですが、すべての例で、「mpg.ro」のような有効な電子メールドメインですが、それは例外をキャッチしません。

誰かがC#で電子メールドメインの検証の別のアイデアを教えてもらえますか?

答えて

1

に役立つことを願っています:

nslookup -type=mx <domain.name> 

あなたも、この内部のC#を実装し、答えを読むことができます。

2

ドメインのルートを要求し、次にHTTP応答を解析できますか?それが200なら、あなたはうまくいくよ

+0

私に例を挙げることはできますか?ありがとうございます –

+0

をチェックアウト:http://stackoverflow.com/questions/1330856/getting-http-status-code-number-200-301-404-etc-from-httpwebrequest-and-ht あなたは間違いなく例外処理もそこで推奨されています。 –

+0

はい、しかし... HttpWebRequestはウェブページを予期していて、 'mpg.ro'(例えば)は単なるドメインであり、www.mpg.roというウェブページは存在しないので、例外もそこに入ります。 –

2

mx recordでDNS検索を行うことができます。ここではコードプロジェクトの例です:
http://www.codeproject.com/KB/IP/dnslookupdotnet.aspx

私はそれはあなたがコマンドプロンプトから...

+0

私はそこに見ることができるように、DNSサーバアドレスが必要です..それはどのIPなしで行うことができる方法はありますか? –

関連する問題