我剛開始在我正在開發的內部使用的Web應用程序內使用Mailgun進行雙向電子郵件。我有一條路由設置爲轉發郵件到我的服務器上的URL - 這工作正常。處理來自Mailgun與Coldfusion的傳入郵件
但是,我在處理這些消息的代碼中拋出錯誤。 Malign將數據作爲http文件發送,然後我可以使用表單變量進行引用。最初,我在某些字段(字段名中帶有連字符的字段)上出現'未定義'錯誤,但現在似乎已解決。現在代碼在CFQUERY插入上磕磕絆絆,錯誤提示我在SQL語法中有一個錯誤 - 但我看不出有什麼問題!
這是我爲頁面mailgun發送郵件的頁面的代碼;
<cfset thebody = form["body-plain"]>
<cfset thesender = form["sender"]>
<cfset therecipient = form["sender"]>
<cfset thesubject = form["subject"]>
<cfquery name="addmail">
INSERT INTO mailmessages(from,sender,recipient,subject,body,msgdate)
VALUES('#thesender#','#thesender#','#therecipient#','#thesubject#','#thebody#',#CreateODBCDateTime(Now())#)
</cfquery>
錯誤消息狀態;
Error Executing Database Query. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from,sender,recipient,subject,body,msgdate) VALUES('[email protected]','l' at line 1
形式可以看到這裏的cfdump(這被髮送到是通過在cfcatch聲明CFMAIL - 我能看到任何錯誤的唯一方法);
我會用在第一次插入值,以排除來自Mailgun來擰起來的任何文本啓動。如果仍然無法正常工作,可以嘗試/捕獲SQL調用並查看錯誤是什麼... –
而且您可能必須將'from'列包裝爲[from](不確定MySQL I的轉義字符是什麼恐怕),因爲它是一個保留字,可能被解釋爲 –
啊,快速谷歌搜索表明它是一個雙引號,所以嘗試將列更改爲(「發件人」,發件人,收件人,主題,正文,msgdate) –