我試圖在CF 8.0.1,但失敗。我想自定義的值傳遞給自定義標籤,就像這樣:ColdFusion自定義標籤調用cfmail astibuteCollection並拋出錯誤
<cf_call ckmail="#{to='[email protected]',from='[email protected]',subject='Error reported',mailserver='mail.domain.com',username='1234',password='tested'}#">
在自定義標籤call.cfm我有以下幾點:
<cfparam name="attributes.ckmail" default="">
<cfmail attributecollection = "#attributes.ckmail#">
我得到的錯誤是:
在塔18的ColdFusion第11行中找到無效CFML構建體一直在尋找在以下文本:{
它在CF9中運行良好,但在CF8.0.1(或以前的版本)中,它失敗並顯示上述消息。
代碼更新爲7月18日的2012
我試着用丹的代碼,但現在我面臨着不同的問題,在我的自定義標籤,我使用這樣的
<cfset emailSetting = StructNew()>
<!--- loop our query string values and set them in our structure --->
<cfloop list="#attributes.ckmail#" index="key" delimiters=",">
<cfset emailSetting["#listFirst(key,'=')#"] = urlDecode(listLast(key,"="))>
</cfloop>
<cfdump var="#emailSetting#"><cfabort>
<cfmail attributecollection = "#emailSetting#">
以上是我在自定義標記中的設置,我從我的代碼中調用它作爲
<cf_call ckmail="[email protected],[email protected],subject='Error reported',
server=mail.domain.com,[email protected],[email protected],type=html">
的錯誤現在我得到的是「SMTP」服務器沒有定義,
如果我添加的smtp細節cfadmin它的工作原理,可能是它忽略值在我輸入的字段,但它顯示的錯誤當沒有在cfadmin中定義的smtp設置時。
所以使用Structnew()右邊,順便說一句,我傳遞它在自定義標記,所以有點混亂如何工作 – Misty
它只會看起來像 它不會有任何construtor語法 - 這一切提前完成。看看第一個答案 - 馬特的例子很清楚。 –