php邮件不起作用

php邮件不起作用,php,html,email,sendmail,Php,Html,Email,Sendmail,我的主机正在使用SquirrelMail,从SquirrelPanel我可以发送邮件,而且我也可以接收邮件。 使用简单的代码进行测试: $to = 'test@gmail.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X

我的主机正在使用SquirrelMail,从SquirrelPanel我可以发送邮件,而且我也可以接收邮件。 使用简单的代码进行测试:

$to      = 'test@gmail.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

if(mail($to, $subject, $message, $headers)){
    echo '1';
}else echo '2';
phpinfo()


但是用我的脚本我不能发送电子邮件。接收2。wtf?

我假设在测试时,$to是一个有效地址。你的测试代码很好,我只是在我的主机上运行了它,并在我的Gmail帐户中收到了一封电子邮件

我的假设是,您的主机没有通过sendmail配置电子邮件。SquirrelMail可能会使用SMTP,如果您有一个快速的Google,那么已经有几个SMTP类可以使用

快速执行phpinfo()并查找以下内容

sendmail_path   /usr/bin/sendmail -t -i /usr/bin/sendmail -t -i

这将告诉您是否至少为PHP的使用配置了它,如果它存在并且仍然无法工作,您可以尝试直接从命令行调用它。如果这仍然不起作用,可能是时候直接联系你的主机了。

我发现我的主机管理员档案不是我想发送的。
问题结束

您是否收到任何错误?它是否回显
1
2
?当我尝试发送它时-接收2您是否在Web服务器上运行它?是的,在主机上,而不是在本地服务器上您的服务器上是否运行任何SMTP服务<代码>邮件需要它。如果有,则检查邮件错误日志以获取idea.sendmail_from-无值,sendmail_路径-/usr/sbin/sendmail-t-i-f mail |/usr/sbin/sendmail-t-i。但是邮件是我的个人邮件,不是来自网站的邮件
sendmail_path   /usr/bin/sendmail -t -i /usr/bin/sendmail -t -i