我是CakePHP的新手,这是我第一次尝试设置电子邮件表单。
保持示例简单:
<?php
App::uses('AppController', 'Controller');
App::uses('CakeEmail', 'Network/Email');
class EmailController extends AppController {
public function send_email($from, $subject, $message) {
$Email = new CakeEmail();
$Email->from($from)
->to('[my personal email]')
->subject($subject);
if($Email->send($message)) {
$result = 'Your email has been sent.';
} else {
$result = 'Your email failed to send.';
}
$this->set('result', $result);
$this->set('params', '('.$from.'|'.$subject.'|'.$message.')');
}
}
send_email.ctp
<?php echo $result;?>
<br>
<?php echo $params;?>
我收到了#34;您的电子邮件已经发送。&#34;,$ params看起来像我期望的那样,我没有看到任何错误...但我没有得到电子邮件。知道为什么会这样吗?
答案 0 :(得分:3)
在此之前,您需要在Config文件夹
下的email.php中定义电子邮件配置这里我们有gmail配置,例如
class EmailConfig {
public $gmail = array(
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' => 'username@gmail.com',
'password' => '*****',
'transport' => 'Smtp'
);
}
然后您可以在控制器中使用此设置,如
$Email= new CakeEmail('gmail');
Inshort您必须根据要求配置SMTP。我希望这对你来说很方便。感谢