36

現在、無効なメールアドレスが原因でエラーが発生するのを防ぐために、次のようにします。

Dim mailAddress As MailAddress
Try
   mailAddress = New MailAddress("testing@invalid@email.com")
Catch ex As Exception
   'Invalid email
End Try

ただし、に依存するのではなく、メールアドレスがそのタイプTry..Catchに対して100%有効であることを検証する方法はありますか?MailAddress

メールを検証するための正規表現関数がたくさんあることは知っていますが、そのMailAddress型がアドレスを検証するために使用する関数を探しています。

4

6 に答える 6

39

残念ながらMailAddress.TryParse方法はありません。

コードは、.Net で電子メール アドレスを検証するための理想的な方法です。

于 2011-08-11T14:46:47.047 に答える
5

特定の電子メール アドレスが IETF 標準に従って有効であることを確認する必要がある場合MailAddress(この記事の執筆時点では、クラスは部分的にしか準拠していないようです)、.NET コンポーネントであるEmailVerify.NETを確認することをお勧めします。ソリューションに簡単に統合できます。ジョブの実行は正規表現に依存しませんが、内部の有限ステート マシンに依存しているため、非常に高速です。

免責事項: 私はこのコンポーネントの主任開発者です。

于 2011-08-17T09:08:15.647 に答える
1

MS は正規表現ベースの電子メール検証ツールのコードも提供しています: https://msdn.microsoft.com/en-us/library/01escwtf%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

于 2015-09-08T08:34:37.900 に答える
0

一部のサービス プロバイダーでは一部の文字が有効ですが、他のサービス プロバイダーでは同じではありません。SmtpClientサービスプロバイダーについて何も知りません。したがって、可能な限りフィルタリングする必要があります。ウィキペディアはスタンダーについてよく言及されています。

の検証はMSDNMailAddressに記載されています。したがって、を初期化する前に、これらの検証を確認できると思います。MailAddress

于 2011-08-11T15:42:42.993 に答える