PHP邮件不发送任何东西

时间:2011-08-07 18:24:49

标签: php email

我在专用服务器(OVH Kimsufi,Debian 6.0 stable)中运行了这个PHP脚本。

<?php
$msg = "coucou les amis";
$sub = "test";
$head  = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n";
echo mail("31415@yopmail.com", $msg, $msg, $head);
?>

邮件返回1但电子邮件从未收到过...如何解决?

6 个答案:

答案 0 :(得分:2)

  

重要的是要注意,仅仅因为邮件已被接受发送,并不意味着邮件实际上会到达目的地。

PHP已发送消息。它是否到达目的地超出了PHP的控制范围。

答案 1 :(得分:1)

取决于您的服务器,您的服务器是否允许您使用php发送邮件

答案 2 :(得分:1)

有很多可能是错的。您是否正在使用Sendmail。也许您应该检查那些可能位于的日志。

cat /var/log/mail.log

或许您的电子邮件确实可以发送,但是会在垃圾邮件文件夹中发送?

我建议您使用例如Sendgrid外包发送电子邮件。每天发送少于200封电子邮件时,Sendgrid是免费的。

答案 3 :(得分:1)

问题是exim(= sendmail)默认配置。它不允许直接SMTP发送(仅限本地)。

# dpkg-reconfigure exim4-config

答案 4 :(得分:0)

您犯了一个错误并使用$msg代替$sub,其中主题被要求作为mail()函数的参数。

$msg = "coucou les amis";
$sub = "test";
$head  = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n";
echo mail("31415@yopmail.com", $sub, $msg, $head);

答案 5 :(得分:0)

在解决了holodoc帖子中描述的问题后,你应该考虑删除mail(),这是不可靠的。