0

我正在使用此代码并打印出已发送但我没有收到任何电子邮件我已经坐在我的本地服务器上配置了邮件功能并且一切都正确但仍然无法正常工作

$to = "xxxx@yahoo.com";
$subject = "$name";
$txt = "$msg";
$headers = "From: xxxx@gmail.com";
if (mail($to,$subject,$txt, $headers)){
    echo "sent";
}else{
    echo "error";
}

它一直说已发送但我没有收到任何电子邮件

4

2 回答 2

0

您将需要更改 php.ini 和 sendmail cfg 以允许从本地服务器发送。这是我的配置。

PHP.ini - 确保 sendmail_path 指向正确的 exe。这是在 php.ini 中的 [mail function] 下

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"

Sendmail.ini [发送邮件]

smtp_server=smtp.gmail.com
smtp_port=25
error_logfile=error.log
debug_logfile=debug.log
auth_username=gmail address
auth_password=gmail password
force_sender=gmail address

显然,这被配置为与 gmail 一起使用,但在 sendmail 中具有正确配置的任何其他 smtp 服务器都可以使用。

于 2012-08-16T08:14:10.767 回答
0

服务器端垃圾邮件过滤可能是您的问题,尤其是当您向某些组织电子邮件地址发送电子邮件时。如果是这样,这篇文章可能对你有用..

这很难仅使用客户端代码进行调试。如果您有权限,您必须检查服务器日志

于 2012-08-16T06:19:21.920 回答