2017-09-25 130 views
0
if($this->User->saveField('reset_password_token',$fu['User']['reset_password_token'])){ 
     $Email = new CakeEmail(); 
     $Email->to("[email protected]"); 
     $Email->subject("Password Reset Request - DO NOT REPLY"); 
     $Email->replyTo("[email protected]"); 
     $Email->from('[email protected]'); 
     $Email->sender('[email protected]', '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.電子郵件不被髮送CakePHP

+0

你在哪裏指定電子郵件網關? –

+0

謝謝。什麼是電子郵件網關? –

+0

我也在使用這個:App :: uses('CakeEmail','Network/Email'); –

回答

0

發送電子郵件時可能會出現一些服務器問題。您應該使用try catch塊來調試您的電子郵件發送代碼:

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

謝謝,但它沒有打印出任何錯誤。 –

0

問題在於我的hotmail帳戶。它將電子郵件發送到我的垃圾郵件文件夾,顯然當某個發件人的垃圾郵件太多時,它會阻止發件人。