I am setting up a group of emails, and start by extracting information from a MySql table
<cfoutput>
<cfset headls ='PersonFn,PersonLn,PersonEmail1'>
<cfquery name = "sord" datasource = "whatever">
select distinct PersonID,#headls# from PersonRepDb
</cfquery>
</cfoutput>
This produces the correct output. I then loop through the results of the query, sending an email to each person.
<cfset sordlen = sord.recordcount>
<cfloop from = "1" to = "#sordlen#" index = 'j'>
<cfmail
from = "#session.user#"
to = "#sord['PersonEmail1'][j]#"
password = "#session.password#"
username = "#session.user#"
server = "localhost"
replyto = "#txt['replyto']#"
subject = "#txt['repsubject']#"
type = "html" >
...stuff
</cfmail>
</cfloop>
When I try to run this program I get an error message: "One of the following attributes must be defined [to, cc, bcc]". Obviously the "to" is there, and if I replace the variable with a specific email like "joan@gmail.com" the error message goes away. So apparently the variable after 'to' is not being decoded.
I tried splitting up the variable sord['PersonEmail1'][j] into the parts before and after the @
<cfset preml = GetToken("#sord['PersonEmail1'][j]#",1,'@')>
<cfset posml = GetToken("#sord['PersonEmail1'][j]#",2,'@')>
and then setting up the to as
to = "#preml#@#posml#"
but that did not help.
Can anyone tell me how to fix this?