无法使用PHP Mail发送电子邮件

时间:2012-11-04 19:13:48

标签: php

我正在尝试使用php发送电子邮件。我以下只是它似乎没有输出任何东西到我的浏览器也没有发送我的电子邮件,任何人都可以看到我做错了什么?

    $to = "liam@mysite.co.uk";
$subject = "Alien Sighting";
$message = foreach ($_POST as $key=>$value) {
    $$key = $value;
}
$from = "Sighting@site.co.uk";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";

5 个答案:

答案 0 :(得分:0)

你能给我们$ _POST的内容吗?

您的PHP配置是否显示所有错误消息?确保在dev环境中使用error_reporting(E_ALL)来查找任何拼写错误。这应该有助于您的浏览器输出。

答案 1 :(得分:0)

如果您在计算机上运行脚本,则必须确保设置SMTP服务器以发送电子邮件,否则您可以获得测试服务器,这样您就不必设置它将自动发送的SMTP

答案 2 :(得分:0)

您使用的是Rmail.php吗?您是将代码上传到网络服务器还是在本地PC上?

我总是使用Rmail.php发送邮件。

$mail = new Rmail();
$mail->setFrom(YOUR ADDRESS);
$mail->setSubject(YOUR SUBJECT);
$mail->setHTML($textSchueler);
$mail->send(array($address));

答案 3 :(得分:0)

您还需要检查并确保您的服务器配置为完全发送电子邮件。虽然如果您要设置自己的服务器或在本地开发,大多数共享主机帐户都将为您配置,但PHP可能没有任何方式来发送消息。尝试检查mail()函数是否返回true表示消息已成功发送,然后查看服务器上的邮件日志以验证传输。

答案 4 :(得分:0)

在这种情况下,PHP不会向浏览器输出任何内容(即使它应该),很可能脚本在echo语句之前失败。

确保您没有停用错误报告。请参阅PHP runtime configuration error_reportingdisplay_errors。您可以使用代码中的error_reporting()函数更改运行时的错误报告行为。启用错误报告可帮助您找出问题所在。

即使您已在浏览器上禁用错误报告,也请查看您的网络服务器日志。他们应该详细说明问题是什么(脚本中的语法错误,邮件函数调用失败的邮件传递......有很多可能性)。