PHP电子邮件表单未发送
我知道以前可能有人问过这个问题,我试图梳理大量类似的问题。从我所收集到的信息来看,这应该是可行的,但我正在花大量的时间来弄清楚这为什么不会发送。我正在尝试学习php的正确实现,但对于一个非常简单的邮件程序,我遇到了一个问题。我开始怀疑这可能是我的主机的问题,但我想我应该先按堆栈运行它 php位于一个单独的文件sendmail.php中,该文件由它后面的表单调用,当然,它位于一个单独的html文档中。我在MailDir/new/目录中没有收到任何错误消息,但我也没有收到任何测试电子邮件,无论是收件箱还是垃圾邮件。明显地my@email.com通常会被替换PHP电子邮件表单未发送,php,html,forms,sendmail,Php,Html,Forms,Sendmail,我知道以前可能有人问过这个问题,我试图梳理大量类似的问题。从我所收集到的信息来看,这应该是可行的,但我正在花大量的时间来弄清楚这为什么不会发送。我正在尝试学习php的正确实现,但对于一个非常简单的邮件程序,我遇到了一个问题。我开始怀疑这可能是我的主机的问题,但我想我应该先按堆栈运行它 php位于一个单独的文件sendmail.php中,该文件由它后面的表单调用,当然,它位于一个单独的html文档中。我在MailDir/new/目录中没有收到任何错误消息,但我也没有收到任何测试电子邮件,无论是收件
if($_POST) {
$emailTo = 'my@email.com';
$subscriber_email = ($_POST['email']);
if(!isEmail($subscriber_email)) {
$array = array();
$array['valid'] = 0;
$array['message'] = 'Insert a valid email address!';
echo json_encode($array);
}
else {
$array = array();
$array['valid'] = 1;
$array['message'] = 'Thanks for signing up!';
echo json_encode($array);
// Send email
$subject = 'New Subscriber!';
$body = "We have a new subscriber!\n\nEmail: " . $subscriber_email;
$headers = "From: " . $subscriber_email . " <" . $subscriber_email . ">" . "\r\n" . "Reply-To: " . $subscriber_email;
mail($emailTo, $subject, $body, $headers);
}
}
<form class="form-inline" action="sendmail.php" method="post">
<input type="text" id="email" name="email" placeholder="Enter your email...">
<button type="submit" class="btn">Subscribe</button>
</form>
如果您能提供任何帮助,我将不胜感激。如果这是一个我一直无法解决的常见问题,我再次表示歉意
干杯您是否在本地机器上测试此功能?添加错误报告全部;和ini设置“显示错误”,1;要查看出了什么问题Sergei-这是在远程服务器付费主机上测试的Andrew-这些错误应该如何显示?我在else语句后添加了您的行。我还在Firefox中运行了这个表单,firebug处于打开状态,在控制台选项卡中没有看到错误/警告/调试信息。控制台返回:POST 200 OK 169ms仍然没有电子邮件。您看到JSON了吗?还要检查邮件的返回值。如果邮件===false,则失败。另外,您使用的是哪家主机提供商?您是否可以访问php.ini文件以查看邮件设置?