2017-06-01 82 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

我建议你考虑使用像库这个。如果代码相关,这也可能解决您的问题。