Coldfusion CFMail仅发送给查询结果的第一个收件人

Coldfusion CFMail仅发送给查询结果的第一个收件人,coldfusion,coldfusion-11,Coldfusion,Coldfusion 11,当尝试使用ColdFusion向多个收件人发送电子邮件时,只有第一行收到该电子邮件,并且该行似乎被点击了三次,但只发送了一次。这可以工作,但所有收件人都可见,并且显示cf输出,因为有很多收件人: <cfmail to = "#ValueList(getEmail.Schd_Email)#" from="test@test.edu" subject="This is a Test" type="HTML" query="getEmail" failto="test@test.com">

当尝试使用ColdFusion向多个收件人发送电子邮件时,只有第一行收到该电子邮件,并且该行似乎被点击了三次,但只发送了一次。这可以工作,但所有收件人都可见,并且显示
cf输出
,因为有很多收件人:

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

我可以将查询输出到页面并查看列出的所有电子邮件。不知道为什么后者不起作用。有什么想法吗?

我想你应该用“;”valueList()中的分隔符。valueList()的默认分隔符为“,”。如果传递分隔符“;”这可能有用。
试试这个#ValueList(getEmail.Schd#u Email,“;”)#

我想你应该使用“;”valueList()中的分隔符。valueList()的默认分隔符为“,”。如果传递分隔符“;”这可能有用。
试试这个#ValueList(getEmail.Schd_Email,“;”)#

因为您使用的是
cfmail
标记的
query
属性,所以不需要使用
ValueList()
函数。
query
属性为您处理该功能。它还否定了在每个“收件人”之间使用delimeter的必要性。假设您在查询结果中有有效的电子邮件地址,它应该是这样工作的

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

该位置已移动到#位置#

由于您使用的是
cfmail
标记的
query
属性,因此不需要使用
ValueList()
函数。
query
属性为您处理该功能。它还否定了在每个“收件人”之间使用delimeter的必要性。假设您在查询结果中有有效的电子邮件地址,它应该是这样工作的

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

该位置已移动到#位置#

您也可以通过查询中的
cfloop
”和循环中的嵌套
cfmail
单独发送。FWIW,使用CF11时效果良好。除了查询列之外,名为
#Schd#u Email#
的页面中还有其他变量吗?如果您删除英镑符号,即
from=“Schd_Email”
,结果是使用下面建议的密件抄送,并将电子邮件发送给管理员或组,而密件抄送收件人是需要接收电子邮件的人。收件人之间不能相互可见。位置已移动到#loc#
正如Miguel-F所述,如果您已经在使用“query”属性(反之亦然),则不需要ValueList()。我读过的所有文档都表明了这一点。如果我没有ValueList(),它仍然只发送到查询中的第一个地址。我确实按照你上面的建议尝试了,没有英镑符号,但没有成功。我还没有试过这条路线,因为密件抄送似乎工作正常。我会尝试一下,学习如何使用它。是的,我对英镑符号的理解是错误的。不确定我到底在想什么,因为它只是将“to”地址设置为文本字符串“Schd_Email”。然而,正如Miguel-F所指出的,您原本拥有的应该可以正常工作。它适用于我,w/CF11,0,03292866,因此您的实际代码很可能有所不同。您也可以通过
cfloop
”通过查询单独发送,并在循环中嵌套
cfmail
。FWIW,使用CF11时效果良好。除了查询列之外,名为
#Schd#u Email#
的页面中还有其他变量吗?如果您删除英镑符号,即
from=“Schd_Email”
,结果是使用下面建议的密件抄送,并将电子邮件发送给管理员或组,而密件抄送收件人是需要接收电子邮件的人。收件人之间不能相互可见。位置已移动到#loc#
正如Miguel-F所述,如果您已经在使用“query”属性(反之亦然),则不需要ValueList()。我读过的所有文档都表明了这一点。如果我没有ValueList(),它仍然只发送到查询中的第一个地址。我确实按照你上面的建议尝试了,没有英镑符号,但没有成功。我还没有试过这条路线,因为密件抄送似乎工作正常。我会尝试一下,学习如何使用它。是的,我对英镑符号的理解是错误的。不确定我到底在想什么,因为它只是将“to”地址设置为文本字符串“Schd_Email”。然而,正如Miguel-F所指出的,您原本拥有的应该可以正常工作。它适用于我,w/CF11,0,03292866,因此实际代码中很可能存在一些不同之处。不需要使用ValueList()True。我可能错了,但听起来他们也不想让“收件人”彼此可见。因此,他们可能希望将cfloop与嵌套的cfmail一起使用,或者使用“bcc”而不是“to”。我从未使用cfmail的query属性,但我认为它会向每个收件人发送单独的电子邮件。虽然不确定,但现在无法测试。我也不知道,但你是对的。是的(用CF11测试)。感谢您确认Leigh不需要使用ValueList()True。我可能错了,但听起来他们也不想让“收件人”彼此可见。因此,他们可能希望将cfloop与嵌套的cfmail一起使用,或者使用“bcc”而不是“to”。我从未使用cfmail的query属性,但我认为它会向每个收件人发送单独的电子邮件。虽然不确定,但现在无法测试。我也不知道,但你是对的。是的(用CF11测试)。谢谢您的确认