我为发送邮件而编写的php脚本无效

时间:2011-11-04 11:16:27

标签: php html wampserver

我创建了一个表单并编写了一个php脚本,在单击提交按钮后发送邮件,并在发送邮件后显示一条感谢信息。 “谢谢”消息被放入另一个HTML页面。

我将它们放到WAMP服务器中的WWW文件夹中并尝试它。显示“谢谢”页面,但邮件未发送到我的邮件帐户。

为什么不发送我的邮件?是否有必要主持网站来执行此操作?

这是我正在使用的代码:

<?php
$email_from = 'aa@gmail.com';
$email_subject = "Arrange new Safari service";
$email_body = "You have received a new message from  $name.\n"
$to = "aa@gmail.com";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to,$email_subject,$email_body,$headers);
header('Location: thanking.html');
?>

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

如果你使用php mail()函数,你需要一个smtp服务器。是的,这可能会在您托管上运行。

您也可以使用像http://swiftmailer.org/之类的图书馆来更轻松(您可以毫无痛苦地使用远程smtp服务器)

答案 2 :(得分:0)

您提供的代码中似乎存在一些语法错误:

$email_from = 'aa@gmail.com';
$email_subject = "Arrange new Safari service";
$email_body = "You have received a new message from  $name.\n";
$to = "aa@gmail.com";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to,$email_subject,$email_body,$headers);
header('Location: thanking.html');

我试图修复上面的语法。

答案 3 :(得分:0)

您需要将PHP配置为使用有效的SMTP服务才能发送SMTP电子邮件。

基本上,您的PHP实例的SMTP配置似乎使用默认值,该值指向localhost。但您的本地计算机似乎没有运行SMTP服务。因此,您需要指向运行一个服务器的服务器,以及允许您的应用程序使用的服务器。

您必须使用有效的smtp服务器和电子邮件地址配置php.ini。

查看此文章http://www.sitepoint.com/advanced-email-php/