0

agencyType_ID表に 2 が含まれている場合、誰かを BCC する必要があり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>

これは、クエリでレコードが返されることにより、bcc アドレスを追加することを前提としています。

次に、使用してタグに含めます<cfmail to="test@address.com" from="test2@address.com" subject="My subject" bcc="#bccaddress#">

于 2012-07-23T20:11:19.977 に答える
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>
于 2012-07-23T20:11:46.703 に答える