我在使用PHP创建联系表单时遇到了无穷无尽的麻烦。PHP邮件功能无法正常工作
我首先尝试了写入数据的方法(如问题中所述:HTML Form Not Outputting To CSV File (Or Displaying Correct Error Messages)),现在我只是尝试将自己的电子邮件中的信息发送给自己的方法。
这里是我的jsfiddle:
下面是我写的发送信息给自己的PHP(我知道这是不是很优雅的编码,但我只是想要得到的东西先工作,然后我打算用阵列等):
我在这个例子中使用<?php
if (isset($_POST['brandname']) && isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['email']) && isset($_POST['website'])){
$brandname = $_POST['brandname'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$website = $_POST['website'];
if(!empty($brandname) && !empty($firstname) && !empty($lastname) && !empty($email)){
$to = '[email protected]';
$subject = 'Submission Form';
$body = $firstname;
$headers = 'From: '.$email;
if (@mail($to, $subject, $body, $headers)){
echo 'Yeah yeah';
}else{
echo 'yeah no.';
}
}else{
echo 'Please fill out all required fields.';
}
}
?>
电子邮件显然不是我的电子邮件(我用我的代码我真实的)。基本上会发生什么是我填写表单并点击提交,它重新加载form.php页面。我检查了我的电子邮件,并没有发生任何事情。如果我查看网站的源代码,请选择“是的”。显示在代码中(当它成功发送电子邮件时,它从哪里回应)。所以代码似乎正常运行,但它不输出任何东西。
我是否必须通过本地主机设置一些邮件服务器/功能?
我错过了什么?
如果您在本地工作(例如使用XAMPP),则需要在'php.ini'中设置sendmail的路径以发送电子邮件。这可能会有所帮助:http://www.codingforums.com/archive/index.php/t-77553.html – Quasdunk 2012-01-07 19:34:56
您可以将错误转为警告或检查日志吗? – mat 2012-01-07 19:36:32
我的php.ini已经有:[邮件功能] ;仅适用于Win32。 SMTP = localhost smtp_port = 25。这是我应该看的线? – MillerMedia 2012-01-07 19:38:45