0
我試圖用ajax方法發送CakeEmail的簡單電子郵件。我假設ajax調用是問題,如果我有其中的電子郵件功能,它將返回400個錯誤的請求。否則,它工作正常。在ajax控制器方法中使用CakeEmail需要做什麼特殊配置?或者這是不可能的?以ajax方法使用CakeEmail
只是想經營一個標準CakeEmail,沒有什麼不尋常的:
$email = new CakeEmail();
$email->config = $this->ses;
$email->from('[email protected]',Configure::read('Site.title'))
->to($user['User']['email'])
->subject(__d('croogo', '[%s] Discount Approved', Configure::read('Site.title')))
->template('Users.apply_approve')
->theme($this->theme)
->viewVars(array('user' => $user))
->send();
SES是在AppController中配置:
public $ses = array(
'host' => 'ssl://email-smtp.us-east-1.amazonaws.com',
'port' => 25,
'username' => '****',
'password' => '****',
'transport' => 'Smtp',
'tls' => true
);
我在其他領域使用這種(阿賈克斯外請求)在常規形式的職位,它工作正常。
UPDATE 經過了Apache日誌(感謝鮑里斯拉夫),和它說:
PHP Fatal error: Call to a member function viewVars() on a non-object in...
所以看起來像Ajax請求沒有viewVars其中CakeEmail使用:
->viewVars(array('user' => $user))
請顯示一些代碼!沒有代碼,我們只會猜測你想要做什麼。閱讀[faq]。 *注意*你可以編輯你的問題,並通過[編輯]鏈接添加代碼 – thaJeztah 2013-05-12 20:27:52
@Michael它不應該是CakeEmail初始化,但如果可能是電子郵件類無法連接到它的「中等」。你使用什麼配置。向我們提供更多信息 - 您如何處理AJAX請求,您使用的是哪種電子郵件配置,還請檢查Web服務器日誌以查看「400錯誤請求」涉及的內容。 – 2013-05-13 09:12:32
@Michael,首先嚐試使用正常請求來處理電子郵件,然後切換到AJAX。它會使調試更容易一些! – 2013-05-13 10:14:36