【发布时间】:2015-12-03 05:27:22
【问题描述】:
cakephp 3.x 中缺少传输配置“Smtp”
我尝试了一些配置如下:
'EmailTransport' => [
'default' => [
'className' => 'Smtp',
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' => 'xxxxxxxxx@gmail.com',
'password' => 'xxxxx',
],
],
'Email' => [
'default' => [
'from' => array('site@localhost' => 'Data Mining'),
'transport' => 'Smtp',
'charset' => 'utf-8',
'headerCharset' => 'utf-8',
],
],
我使用下面的代码发送电子邮件。
$mail = new Email('default');
$mail->emailFormat('html');
$mail->template($template, null)->viewVars(array('body' => $mailBody));
$mail->to($email_to);
$mail->subject($subject);
$mail->replyTo(Configure::read('config.NOREPLY_EMAIL'));
$headers = array(
'X-MC-MergeVars' => '{"NAME": "Khushang", "REGARDS":"Khushang"}',
'X-MC-Template' => 'test-by-Khushang'
);
$mail->setHeaders($headers);
$mail->send();
非常感谢...
【问题讨论】:
-
也许你必须使用
CakeEmail类而不是Email -
在更新的 cakephp 3.x 版本中,没有像 CakeEmail 这样的类。它被电子邮件取代。我用过 CakeEmail,它会给我这个错误。错误:找不到类“App\Controller\CakeEmail”
标签: php email cakephp-3.0