0

agencyType_ID如果表中是 2 ,我需要密件抄送某人company。我该怎么做?到目前为止我有

<cfquery name="checkAgencyType" datasource="#APPLICATION.primaryDSN#">
    SELECT * FROM company WHERE agencyType_ID=2
</cfquery>

在里面<cfmail>我会有

<cfif query=”checkAgencyType”&gt;bcc=”joe@example.com”&gt;</cfmail>

编辑:我应该提到我已经可以使用 to 和 cc 字段发送邮件,所以我宁愿不重构一堆代码。但大多数回复似乎不需要这个:-)

4

3 回答 3

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>
于 2012-07-23T21:02:53.943 回答
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#">

于 2012-07-23T20:11:19.977 回答
2

您可以使用“inline 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>
于 2012-07-23T20:11:46.703 回答