我有下一个代码:
if (!mail($_POST['mail'], $text['EMAIL_RECOVER_MSG_SUBJECT'], $text['EMAIL_RECOVER_MSG'], $from)) {
$msg = $text['MAIL_ERROR'];
$msgDisplay = 'inline';
}else {
$recover = false;
echo "<div class='alert alert-success'> {$text['RECOVER_MAIL_SENT']}</div>";
}
我尝试发送此消息:
nati323@gmail.com
Password Recover: From dmworld24.com
You Forget Your Password To Recover it Please Go Into The Next Link:\r\n http://dmworld24.com/login.php?act=rec&token=11674209834514531801839026455 \r\n If You Didnt Ask For Password Recovering Just Ignore This Message
From: system@dmworld24.com
代码总是显示成功消息,并且邮件功能返回true,但我不在我邮箱中的任何邮件(而不是垃圾邮件),我使用xampp,而我的php.ini是
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
我的sendmail.ini是:
smtp_server=smtp.gmail.com
error_logfile=error.log
debug_logfile=debug.log
auth_username=nati323@gmail.com
auth_password=*****
force_sender=nati323@gmail.com
为什么它不起作用?我在哪里可以看到邮件日志文件的检查错误?
有人将我的问题标记为重复,并提供了相关链接:PHP mail form doesn't complete sending e-mail 所以我检查他们在那里说的一切,
1)我的错误报告设置为-1,错误显示设置为开。
2)你可以看到我的评论,我没有任何日志文件。
3)邮件功能返回true
4)邮件在垃圾邮件箱中找不到
5)我提供标题就像他们说那样
6)我没有标题语法错误
7)不要发送到多个帐户
8)我尝试了支持邮件的主机服务器,并且没有工作,我尝试在我的localhost上设置了php&amp;像你告诉我的sendmail .ini文件,仍然没有工作......
答案 0 :(得分:0)
发生的事情是您没有在php配置中配置实时邮件服务器,php mail()
函数将邮件转发到本地服务器,因此它将返回TRUE
但它是邮件服务器的工作是否发送邮件,如果您的邮件服务器是公共邮件服务器,那么它将发送邮件,否则它将在本地系统本身死亡。
我希望这有助于你