电子邮件未发送CakePHP

时间:2017-09-25 10:59:40

标签: cakephp

if($this->User->saveField('reset_password_token',$fu['User']['reset_password_token'])){
        $Email = new CakeEmail();
        $Email->to("makamo66@hotmail.com");
        $Email->subject("Password Reset Request - DO NOT REPLY");
        $Email->replyTo("makamo66@hotmail.com");
        $Email->from('makamo66@hotmail.com');
        $Email->sender('makamo66@hotmail.com', 'Do Not Reply');
        $Email->template("resetpw");
        $Email->emailFormat("html");
        $Email->send('Do not reply');
        $this->Session->setFlash(__('Check your email to reset your password.', true));

saveField可以工作并更新表格和“请检查您的电子邮件以重置密码”消息。也显示,但电子邮件永远不会被发送。如何使电子邮件正常工作?这是cakephp第2版。

2 个答案:

答案 0 :(得分:0)

发送电子邮件时可能会出现服务器问题。您应该使用try catch block调试电子邮件发送代码:

try {
    $Email->send('Do not reply');
} catch (Exception $e) {
    echo "Exception caught: " . $e->getMessage();
    exit;
}

答案 1 :(得分:0)

问题出在我的hotmail帐户上。它将电子邮件发送到我的垃圾邮件文件夹,显然当某个发件人的垃圾邮件过多时,它会阻止发件人。