将 CFMAIL 转换为等效脚本并使用查询
Converting CFMAIL to script equivalent and using a query
所以我正在将遗留应用程序转换为 ColdBox MVC,并尝试将标签转换为脚本。以前我会做
<cfmail
query="getRecipients"
type="text/html"
from="Me <me@me.org>"
to="#getRecipients.email#"
subject="Hello everybody from me">
<p>Hey #getRecipients.name#, how are you?</p>
</cfmail>
我完成了。邮件将发送给从 getRecipients 查询返回的任何人。但现在看来我不得不
var oMail = mailService
.newMail(
to="test1@test.com",
from="me@me.org",
subject="Hello everybody from me",
bodyTokens={ name=name}
);
oMail.setBody("
Hey @name@, how are you?
");
var results = mailService.send( oMail );
}
这本身似乎过于冗长,但至少在发送给单个收件人或以逗号分隔的列表时有效。但无论我做什么,我都无法将其发送到查询的收件人列表。
我尝试=getRecipients 并得到一个错误,指出 "to" 的值不是字符串。我试过="getRecipients",虽然我没有收到错误,但邮件没有发送(甚至排队等候发送)。其他各种尝试也都出错或无声地失败。
我读了SO discussion here,它似乎表明在基于脚本的邮件中使用查询实际上是行不通的。但那次讨论是从 2012 年开始的——现在肯定不再是这样了,对吧?当然可以在脚本中复制这一非常基本的功能,对吧?我错过了什么?我对此进行了大量研究,我发现的每个示例都只发送到一个硬编码地址。
如果有任何意见或建议,我将不胜感激。非常感谢您的帮助!
我相信会是:
var oMail = mailService
.newMail(
to=valueList(getRecipients.email),
from="me@me.org",
subject="Hello everybody from me",
bodyTokens={ name=name}
);
所以我正在将遗留应用程序转换为 ColdBox MVC,并尝试将标签转换为脚本。以前我会做
<cfmail
query="getRecipients"
type="text/html"
from="Me <me@me.org>"
to="#getRecipients.email#"
subject="Hello everybody from me">
<p>Hey #getRecipients.name#, how are you?</p>
</cfmail>
我完成了。邮件将发送给从 getRecipients 查询返回的任何人。但现在看来我不得不
var oMail = mailService
.newMail(
to="test1@test.com",
from="me@me.org",
subject="Hello everybody from me",
bodyTokens={ name=name}
);
oMail.setBody("
Hey @name@, how are you?
");
var results = mailService.send( oMail );
}
这本身似乎过于冗长,但至少在发送给单个收件人或以逗号分隔的列表时有效。但无论我做什么,我都无法将其发送到查询的收件人列表。
我尝试=getRecipients 并得到一个错误,指出 "to" 的值不是字符串。我试过="getRecipients",虽然我没有收到错误,但邮件没有发送(甚至排队等候发送)。其他各种尝试也都出错或无声地失败。
我读了SO discussion here,它似乎表明在基于脚本的邮件中使用查询实际上是行不通的。但那次讨论是从 2012 年开始的——现在肯定不再是这样了,对吧?当然可以在脚本中复制这一非常基本的功能,对吧?我错过了什么?我对此进行了大量研究,我发现的每个示例都只发送到一个硬编码地址。
如果有任何意见或建议,我将不胜感激。非常感谢您的帮助!
我相信会是:
var oMail = mailService
.newMail(
to=valueList(getRecipients.email),
from="me@me.org",
subject="Hello everybody from me",
bodyTokens={ name=name}
);