我是cakephp的新手,我查看了其他答案,但无法找到解决方案。我想在注册后发送电子邮件。但它显示未定义的方法错误。以下是我的代码
JSONEncoding
AppController的
public $components = array(
'Email',
'Session',
'Auth',
'DebugKit.Toolbar',
//'Security',
);
答案 0 :(得分:1)
{@ 3}}已被弃用,因此您应该使用Email
component。
确保您在控制器顶部或您将要使用它的位置加载课程: -
App::uses('CakeEmail', 'Network/Email');
然后,您需要创建一个新的电子邮件对象: -
$Email = new CakeEmail('smtp');
$Email->to($to);
$Email->subject($template['EmailTemplate']['subject']);
$Email->from($template['EmailTemplate']['from']);
$Email->template('email_template');
$Email->emailFormat('both');
$Email->viewVars(['data' => $template_info]);
$Email->send();
您可以在app/Config/email.php
文件中定义类似于数据库的电子邮件连接: -
class EmailConfig {
public $smtp = array(
'host' => 'mail.mindstack.in',
'port' => 25,
'username' => 'my-email',
'password' => 'my-password',
'transport' => 'Smtp',
'tls' => true
);
}
CakeEmail()
的第一个参数决定了要使用的电子邮件配置。从CakePHP 2.7开始使用$default
配置,您只需创建一个电子邮件对象,如: -
$Email = new CakeEmail();