2

我一直在尝试在我的网站上设置一个简单的表单,该表单向我的收件箱(不是网站访问者的)发送一封电子邮件,其中包含访问者在表单中输入的电子邮件地址。这不是很复杂,但是当我正在测试时,我似乎无法让任何电子邮件地址工作。我也没有收到任何错误消息。我将粘贴下面的代码。

至少,我想知道 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>
4

1 回答 1

1

如果您的 $_POST 变量正确,您可以使用“echo”进行检查,我认为您的代码中没有任何错误我在没有 &_POST vars 的情况下尝试了您的代码,它工作正常。

我假设您正在使用 wamp 或 xampp 并在您的本地系统上进行测试。在网络服务器上上传代码,一切都会好起来的。

于 2013-09-14T10:03:51.997 回答