2016-05-02 2 views
0
  • のColdFusion 11
  • 窓2012はisValid()を使用する

コード:クエリとのColdFusion:クエリのループとCFMAILタグは、どのように

<cfmail query="getEmail" 
       to="#getEmail.email#" 
       from="#getEmail.displayName# <#getEmail.emailfrom#>" 
       subject="#getEmail.emailsubject#" 
       type="html" 
       server="10.1.0.2" 
       timeout="360" 
       username="#myuser#" 
       password="#mypassword#" spoolenable='no' > 

    My email content 

    </cfemail> 

イムランニングcfmailタグ。私はどのように私の状況でisvalid( "email"、 '')を使うことができますか?

+3

私が知る限り、最初にフィルタリングされたクエリ結果セットを構築するか、cfmailをに入れてクエリ属性を取り除く必要があります。電子メールのisValid()に問題があることに注意してください。 https://www.raymondcamden.com/2014/07/21/ColdFusion-isValid-Email-and-new-TLDs/ –

+0

これはプロダクションのためにコードであまり変わっていない主な問題です。何か私にできることはありますか ? MSSQL SP – IBM

+2

から来るクエリメールを最初にデータベースに埋め込むコードを変更できますか?データを保存する前にisValid()をテストした場合、 'cfmail'を呼び出すときにテストする必要はありません。 –

答えて

1

多分uはあなたのSQLクエリに正規表現を使用することができ、私は、有効な電子メールでこのリターンはレコードだけを信じて、この条件

SELECT .... WHERE email NOT REGEXP '^[^@][email protected][^@]+\.[^@]{2,}$' 

を入れてみてください。

+0

私はMSQL 2008を持っているので、正規表現を直接サポートしているとは思っていません... – IBM

2

コードをcfifタグ内で試してみてください。ここで

<cfloop query="getEmail"> 
    <cfif isValid("email", getEmail.email)> 
     //Code to send mail 
    <cfelse> 
     Invalid Email <cfoutput>#email#</cfoutput>. 
    </cfif> 
</cfloop> 

、あなたはgetEmailクエリから取得している電子メール。有効な場合は電子メールのみが送信され、それ以外の場合は電子メールが送信されます。最終的に、無効な電子メールの一覧が表示されます(ある場合)。

関連する問題