2012-05-17 34 views
0

我想在我的CakePHP 2.0應用程序中發送來自AppController的電子郵件。如果我從PagesController發送它,它工作正常,但我也需要能夠從AppController發送。CakePHP 2.0 - 如何從AppController發送電子郵件?

我:

function sendSystemEmail($to = EMAIL_CONTACT, $from = EMAIL_FROM, $subject = null, $body = null, $view = null, $vars = null) { 
    App::uses('CakeEmail', 'Network/Email'); 
    $email = new CakeEmail(); 
    $email->viewVars(array(
      'body' => $body, 
      'vars' => $vars 
    )); 
    $email->template($view) 
      ->emailFormat('html') 
      ->from($from) 
      ->to($to) 
      ->subject($subject) 
      ->send(); 
    return; 
} 

當我用這個,我沒有得到任何錯誤,但是電子郵件不到位。我看不到這和我在PagesController中的代碼有什麼不同,所以我假設有一些AppController可能無法訪問?我不知道什麼,但!

任何人都可以幫忙嗎?

謝謝!

回答

0

沙龍,你不把配置方法..這個參數可以把classEmail的構造也一樣,這樣..

$email = new CakeEmail('pop3'); //can be smtp or the protocole you are using.. 

$email->config('pop3') 

,您需要這裏定義的連接.. ./app/Config/email.php

class EmailConfig { 

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

謝謝 - 我會試試這個! – Sharon