我做了什么
public $smtp = array(
'transport' => 'Smtp',
'from' => array('me@mydomain.com' => 'test'),
'host' => 'mail.mydomain.com',
'port' => 80,
'timeout' => 60,
'username' => 'me@mydomain.com',
'password' => 'me123',
'client' => null,
'log' => false,
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
$email = new CakeEmail('Smtp');
$result = $email->template('welcome_mail','default')
->emailFormat('html')
->to($to_email)
->from('me@mydomain.com')
->subject('Welcome')
->viewVars($contents);
if($email ->send('Smtp'))
{
echo ('success');
}
我在这里做错了什么? 请不要在这里解释smtp设置吗? 什么是主机,用户名,密码,客户端?
请指导我什么是主持人
我必须在此处设置的用户名和密码
答案 0 :(得分:5)
我会将电子邮件配置添加到位于 /app/Config/email.php 中的email.php文件中,如果它不存在将email.php.default复制到电子邮件中.php,更改那里的smtp设置
public $smtp = array(
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' => 'my@gmail.com',
'password' => 'secret'
);
在控制器顶部,类控制器扩展了AppController add,
App::uses('CakeEmail', 'Network/Email');
然后发送电子邮件,请尝试
$Email = new CakeEmail();
$Email->from(array('me@example.com' => 'My Site'))
->to('you@example.com')
->subject('About')
->send('My message');
测试电子邮件我通常会将它们发送到Cake Logs,
**在/app/Config/email.php中,包含:(日志输出应为/app/tmp/logs/debug.log)
public $test = array(
'log' => true
);
此外将“测试”添加到您的$ Email变量,例如**
$Email = new CakeEmail('test');