如果agencyType_ID
表中的company
为2,我需要密送某人。我该怎么做?到目前为止我已经
<cfquery name="checkAgencyType" datasource="#APPLICATION.primaryDSN#">
SELECT * FROM company WHERE agencyType_ID=2
</cfquery>
在<cfmail>
里面我会有
<cfif query=”checkAgencyType”>bcc=”joe@example.com”></cfmail>
编辑:我应该提到我已经让它使用to和cc字段发送邮件,所以我宁愿不重构一堆代码。但大多数回复似乎都不需要这样: - )
答案 0 :(得分:10)
我会使用属性集合参数。它允许您将属性作为结构传递给标记。这样,您可以定义静态属性,然后动态添加任何其他属性。只要属性键名匹配,它们就会传递给标记。
<cfset args = {
from = "from@gmail.com",
to = "to@gmail.com",
subject = "My Subject",
type = "HTML"
}>
<cfif checkAgencyType.agencyType_ID EQ 2>
<cfset args.bcc = "joe@example.com">
</cfif>
<cfmail attributeCollection="#args#">
content...
</cfmail>
答案 1 :(得分:2)
你走在正确的轨道上,你只想把它设置为一个变量。
<cfset bccaddress = '' />
<cfif checkAgencyType.RecordCount>
<cfset bccaddress = 'joe@example.com' />
</cfif>
这假定通过在查询中返回记录,您想要添加密件抄送地址。
然后使用<cfmail to="test@address.com" from="test2@address.com" subject="My subject" bcc="#bccaddress#">
答案 2 :(得分:2)
您可以使用“内联if”来检查查询结果,如果找到,则设置电子邮件地址。否则,它会将bcc属性设置为空白。
<cfmail
subject="Subject"
from="you@example.com"
to="customer@example.com"
bcc="#iif(checkAgencyType.recordCount, de('joe@example.com'), de(''))#"
>
This is a cool message.
</cfmail>