我创建了一个表单并编写了一个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');
?>
答案 0 :(得分:1)
请在此阅读Sending email from localhost
这里http://forums.devshed.com/mail-server-help-111/how-to-set-up-php-ini-to-send-mail-from-106329.html
答案 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。