我正在尝试从我的CakePHP 2.0应用程序中发送来自AppController的电子邮件。如果我从PagesController发送它,它工作正常,但我也需要能够从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 :(得分:0)
Sharon,你没有放配置方法..这个参数也可以放在classEmail的构造函数中,这样..
$email = new CakeEmail('pop3'); //can be smtp or the protocole you are using..
或
$email->config('pop3')
你需要在这里定义连接.. 的 ./应用程序/配置/ email.php 强>
class EmailConfig {
public $pop3 = array(
'transport' => 'Mail',
'from' => 'you@localhost',
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);