2012-11-06 200 views
0

我需要幫助的人。我無法得到這個工作。你可以幫幫我嗎?CakeEmail無法發送電子郵件

在此先感謝!

配置/ email.php

public $default = array(
     'transport' => 'Mail', 
     'from' => '[email protected]', 
     'charset' => 'utf-8', 
     'headerCharset' => 'utf-8', 
); 

FeedbacksController.php

App::uses('AppController', 'Controller'); 
App::uses('CakeEmail', 'Network/Email'); 
* 
* 
* 
public function send() { 
    $email = new CakeEmail('default'); 
    $email->emailFormat('text') 
      ->to('[email protected]') 
      ->from('[email protected]') 
      ->send('Message Body'); 
} 

上面的代碼給我一個錯誤:

無法發送電子郵件。

Error: An Internal Error Has Occurred. 
+0

你有調試級別設置爲2? (在'app/Config/core.php'中有'Configure :: write'('debug',2);'當設置這個錯誤時,你會得到關於錯誤的更多信息嗎? – Josh

+0

是的,它被設置爲2 – njay

+0

CORE \ Cake \網絡\電子郵件\ CakeEmail.php線972→MailTransport->發送(CakeEmail) APP \控制器\ FeedbacksController.php線82→CakeEmail->發送() [內部功能]→FeedbacksController->發送() CORE \蛋糕\控制器\ Controller.php這樣線488→Ref​​lectionMethod-> invokeArgs(FeedbacksController,數組) CORE \蛋糕\路由\ Dispatcher.php線103→控制器 - > invokeAction(CakeRequest) CORE \蛋糕\路由\ Dispatcher.php線85→分派器 - > _調用(FeedbacksController,CakeRequest,CakeResponse) APP \根目錄\的index.php線96→Dispatcher->調度(CakeRequest,CakeResponse) – njay

回答

0

在我的經驗,香港專業教育學院有問題設置 - >從一個單一的字符串,並且已經發現,這樣做 - >從(陣列(「EMAILADDRESS」 =>「名字」))一直是比較成功的。

也im不知道是否需要設置一個主題值才能成功工作?

1

您可以使用此: 在應用程序/配置/ email.php添加這個新設置

public $gmail = array(
    'host' => 'ssl://smtp.gmail.com', 
    'port' => 465, 
    'username' => '[email protected]', 
    'password' => 'secret', 
    'transport' => 'Smtp', 
    'timeout' => 1 
); 

之後,並在控制器,你必須調用:

$email = new CakeEmail('gmail'); 

也就是說它。