Отправка CFMail только первому получателю результата запроса

При попытке отправить электронное письмо нескольким получателям с помощью ColdFusion, только первая строка получает электронное письмо, и кажется, что оно получено три раза, но только один раз. Это работает, но все получатели видны и cfoutput отображается столько раз, сколько есть получателей:

<cfmail
to = "#ValueList(getEmail.Schd_Email)#"
from="test@test.edu"
subject="This is a Test"
type="HTML"
query="getEmail"
failto="test@test.com">
The location has been moved to <b><cfoutput>#location#</cfoutput></b><br/>
</cfmail>

Это отправляет только первый человек, указанный в запросе и cfoutput в теле до сих пор перечисляется столько раз, сколько есть получателей.

<cfmail
to = "#Schd_Email#;"
from="test@test.edu"
subject="This is a Test"
type="HTML"
query="getEmail"
failto="test@test.com">
The location has been moved to <b><cfoutput>#location#</cfoutput></b><br/>
</cfmail>

Я могу вывести запрос на страницу и просмотреть все электронные письма в списке. Не уверен, почему последний не работает. Есть идеи?

2 ответа

Я думаю, что вы должны использовать ';' разделитель в valueList(). разделитель по умолчанию для valueList () - ','. Если вы передаете разделитель ';' это может сработать. Попробуйте это #ValueList(getEmail.Schd_Email,";")#

Поскольку вы используете query атрибут cfmail тег вам не нужно использовать ValueList() функция. query Атрибут обрабатывает эту функциональность для вас. Это также устраняет необходимость использования разделителя между каждым адресатом "до". Это должно работать так, если в результатах запроса у вас есть действительные адреса электронной почты.

<cfmail
    to="#getEmail.Schd_Email#"
    from="test@test.edu"
    subject="This is a Test"
    type="HTML"
    query="getEmail"
    failto="test@test.com">
    <div>The location has been moved to <b><cfoutput>#location#</cfoutput></b></div>
</cfmail>
Другие вопросы по тегам