0

我正在尝试使用 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.";
4

5 回答 5

0

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

确保您没有禁用错误报告。请参阅 PHP运行时配置 error_reportingdisplay_errors. 您还可以在代码中使用error_reporting()函数更改错误报告行为。启用错误报告可帮助您找出问题可能是什么。

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

于 2012-11-04T19:30:48.913 回答
0

Can you give us $_POST content please ?

Does your PHP configuration display all errors messages? Make sure to use error_reporting (E_ALL) in your dev environnement to find any typo / error. That should help to get an output to your browser.

于 2012-11-04T19:20:08.127 回答
0

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

于 2012-11-04T19:24:09.997 回答
0

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

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

$mail = new Rmail();
$mail->setFrom(YOUR ADDRESS);
$mail->setSubject(YOUR SUBJECT);
$mail->setHTML($textSchueler);
$mail->send(array($address));
于 2012-11-04T19:25:17.200 回答
0

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

于 2012-11-04T19:26:45.690 回答