我一直在尝试在我的网站上设置一个简单的表单,该表单向我的收件箱(不是网站访问者的)发送一封电子邮件,其中包含访问者在表单中输入的电子邮件地址。这不是很复杂,但是当我正在测试时,我似乎无法让任何电子邮件地址工作。我也没有收到任何错误消息。我将粘贴下面的代码。
至少,我想知道 DNS 或主机配置是否有问题。这是我第一次建立网站,所以我不确定问题出在代码、HTML(未在此处粘贴的单独文件)或服务器或主机设置中。
让事情变得更困难的是,我曾经收到一条错误消息,类似于未正确配置的内容,但我似乎无法再收到错误消息了。我认为我没有更改任何代码。这让我怀疑服务器端可能还有其他事情发生。这可行吗?
提前感谢您的浏览。
<?php
$to = "MyEmailInbox@gmail.com";
$from = "mail@example.com";
$headers = "From: " . $from . "\r\n";
$subject = "New subscription";
$body = "New user subscription: " . $_POST['email'];
if( filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) )
{
if (mail($to, $subject, $body, $headers, "-f " . $from))
{
echo 'You will be notified on <b> ' . $_POST['email'] . '</b> :)';
}
else
{
echo 'There was a problem with your e-mail (' . $_POST['email'] . ')';
}
}
else
{
echo 'There was a problem with your e-mail (' . $_POST['email'] . ')';
}
就 index.html 而言,我在发送按钮旁边有一个表单。表单大概会获取用户信息,过滤掉废话,然后发送按钮调用 PHP 脚本。请在下面找到相关的 index.html 代码:
<!-- SIGN UP SECTION ############################################### -->
<section id="signup">
<div class="row">
<!-- Title -->
<div class="seven columns centered">
<h2>Sign up to receive our newsletter!</h2>
<!-- Begin the Form -->
<form action="form_sender.php" method="post">
<!-- Input of E-Mail -->
<div class="eight columns">
<input name="email" class="email" type="text" placeholder="YOUR E-MAIL PLEASE ?">
</div>
<!-- Send Button -->
<div class="four columns">
<button name="send" type="submit" class="submit">SEND</button>
</div>
<!-- End of the Form -->
</form>
</div>
<!-- Text Promise we do not spam -->
<div class="twelve columns centered">
<p class="spam">We do not spam.</p>
</div>
</div>
</section>