我已经做了一个小型的 php 项目000网站主机。我设置的系统,如果用户忘记密码,系统会发送邮件给用户重置密码。但问题是,系统根本无法发送邮件。
这是我的PHP代码:
$tomail=$_POST["usermail"];
$subject="Password Reset";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: '.$tomail."\r\n";
$link="https://dhankosh-in.000webhostapp.com/reset_password.php";
$message="<html><head></head><body><p>Click on the link below to reset your password</p><br><br><a href='".$link."'>Click here to reset your password</a></body></html>";
if(mail($tomail,$subject,$message,$headers))
{
$myobj=array('status'=>'success','message'=>'Check your mail to reset password!!');
echo json_encode($myobj);
}
else{
$myobj=array('status'=>'error','message'=>'Invalid e-mail!!');
echo json_encode($myobj);
}
它发送的响应是“检查您的邮件以重置密码!!”但我没有收到任何邮件。
答案1
我尝试了你的代码并且成功了。(我将第一行编辑为固定电子邮件地址)。
在控制面板中打开 sendmail(如果已关闭)
网站设置 > 常规 > Sendmail
请注意,免费帐户每天限制发送 50 封电子邮件。
答案2
这个回答很晚了...
请与您的网络主机 000webhost 联系,他们可能已禁用 PHPMail() 功能,因为它是垃圾邮件/恶意软件的主要载体。许多网络托管服务提供商已出于这个原因禁用了 PHPMail()。