次のような文字列からメール アドレスを取得するにはどうすればよいですか。
def emailAddress="john@doe.com <\john@doe.com\\>"
への呼び出しで使用できるようにContactperson.findByEmailAddress(variable)
JavaMail は、使用している形式で文字列を解析できる電子メール アドレスを表すクラスを提供します。をご覧くださいjavax.mail.internet.InternetAddress
。
Grails には、JavaMail を自動的に使用可能にするメール プラグインがあります。
比較する必要がある電子メールが括弧内にあると想定しています。
Contactperson.findByEmailAddressIlike('%<${variable}>%')
データベースによっては、おそらく特殊文字をエスケープする必要があります。
簡単な解決策は
Contactperson.findByEmailAddress(emailAddress.split('<')[0])
ただし、フォーマット エラーを回避するために、最初にいくつかの検証作業を行う必要があります。