【发布时间】:2013-06-04 09:25:30
【问题描述】:
给定以下 php 代码:
<html>
<body>
<?php
$fname ="First Name = ".$_REQUEST['fname']."\n";
$lname ="Last Name = ".$_REQUEST['lname']."\n";
$breakfast = "Desired Breakfast = ".$_REQUEST['breakfast']."\n";
$floor ="Desired Floor = ".$_REQUEST['floor']."\n";
$to = "XXXX@gmail.com";
$email="XXXX@gmail.com";
$subject="shenkar php form from erez geva site";
$body =$fname.$lname.$breakfast.$floor;
if (mail($to, $subject, $body, "From: $email")){
header("Location: http://localhost:9090/sent.html");
exit();
}else{
echo("<p>Message delivery failed...</p>");
}
?>
</body>
</html>
不起作用。 用户从中选择所需选项的 Index HTML 文件写得很好(据我教授说),所以让我们假设问题出在其他地方。 如果我直接转到该 php 文件:localhost\send.php 我会收到此错误:
警告:mail() [function.mail]:无法在“localhost”端口 25 连接到邮件服务器,请验证 php.ini 中的“SMTP”和“smtp_port”设置或在 C:\wamp 中使用 ini_set() \www\send.php 第 12 行
这是什么意思?
【问题讨论】:
-
** 我使用的是 Wamp 2.2e
-
好吧,让我们看看...你有一个邮件服务器在 localhost 上运行并监听 25 端口吗?
-
这是因为除非您正确配置了邮件服务,否则无法从本地主机发送邮件
-
我知道这一点,但每次我在本地工作时都忘记了!
-
不要使用 PHP 的
mail()函数。糟透了。使用像 phpMailer 这样的像样的邮件程序类。我不能肯定这一次是否足以解决你的问题,但它会让事情变得更容易使用和调试,更不用说它带来的所有附加功能了。
标签: php