検証部分をカバーしました。
メールをコンポーネントに解析するだけです。
電子メールが有効であると仮定すると...
最初の「@」をさかのぼって見て、それ以降はすべてドメインですか?
そして、後ろにスペースを探して、その後のすべてが電子メールアドレスから引用された名前を除いたものですか?
検証部分をカバーしました。
メールをコンポーネントに解析するだけです。
電子メールが有効であると仮定すると...
最初の「@」をさかのぼって見て、それ以降はすべてドメインですか?
そして、後ろにスペースを探して、その後のすべてが電子メールアドレスから引用された名前を除いたものですか?
作業がすでに完了しているのに、なぜ自分で解析する必要があるのでしょうか (そして、間違ってしまう危険があります)。
Mime4jライブラリ ( http://james.apache.org/mime4j/ ) には、(電子メールの処理に関連する他の多くのものの中でも)電子メール アドレス (グループと個々のメールボックス、およびアドレス リストを含む) を解析するためのメソッドを持つクラスが含まれています。それらは電子メールのヘッダーに表示される場合があります) それらを表すオブジェクト (クラスとそのサブクラスのインスタンス、および) に変換されます。返されたオブジェクトには、各アドレスの個々のコンポーネント (ローカル部分、ドメイン、人間が読める名前など) へのアクセスを提供するメソッドがあります。AddressBuilder
Address
Group
Mailbox
AddressBuilder
クラスの Javadoc はhttp://james.apache.org/mime4j/apidocs/org/apache/james/mime4j/field/address/AddressBuilder.htmlにあります。
はい、アドレスが RFC 822 に準拠している場合、@
符号は 1 つだけであり、それを分割してローカル部分とドメインを判別できます。 RFC 2822 のセクション 3.4.1 を参照してください。