2016-05-02 7 views
0
  • Coldfusion 11
  • окна 2012

код:Coldfusion: cfmail тег цикла запроса, как использовать IsValid()

<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> 

Im работает 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

Может быть, можно использовать регулярные выражения на вашем запросе, попытайтесь поместить это условие

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

Я считаю, что это возвращение только записи с действительной электронной почтой.

дайте мне знать, если это работает

+0

У меня MSQL 2008 я не думаю, что он поддерживает Regex напрямую ... – IBM

2

Попробуйте код внутри тега Cfif.

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

Здесь, по электронной почте вы получаете от getEmail запроса. Если он действителен, будет отправлено только электронное письмо, иначе письмо будет отправлено. В конечном итоге вы найдете список Недействительных писем (если есть).