2017-06-01 68 views
0

我想在PHP中發送郵件,它返回true,但郵件未送達。在php中的PHP郵件()函數返回true,但不發送郵件

$To = $email; 
$Sub = "Reset Password"; 
$Msg = "Please click on the given link or copy url to reset your password<br/>"; 
$Msg .= "mydomain/password_reset.php?Note=".$random_note."&uid=".$c_id."&email=".$email; 
$Header = "MIME-Version: 1.0" . "\r\n"; 
$Header .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 
$Header .= 'From: Admin <admin mail>' . "\r\n"; 

if (mail($To,$Sub,$Msg,$Header)) 
     { 
     echo "Please confirm your email to reset your password<br/>"; 
     echo "Email temporarily Displayed here</br>".$Msg; 
      exit(); 
     } 
+0

假設您正在運行Linux機器,您可以檢查日誌(通過:tail -f /var/log/mail.log)併發布您找到的內容。 – HomerPlata

+0

不,我沒有使用linux – NewDeveloper

+0

如果你甚至能夠發送郵件,請檢查你的服務器配置。 「如果郵件已成功接收郵件,則返回TRUE,否則返回FALSE。重要的是要注意,僅僅因爲郵件被接受發送,並不意味着郵件實際上會到達預期的目的地。」 http://php.net/manual/en/function.mail.php - 同時檢查你的垃圾郵件文件夾。 – Twinfriends

回答

0

php mail()函數有一些問題一般。 它通常在未設置因頭部等

的垃圾郵件文件夾後,一對夫婦擺弄自己的天我碰到這種寶石就結束了: PHPMailer

我建議你考慮使用像庫這個。如果代碼相關,這也可能解決您的問題。