2

訪問者がフォームに入力した電子メール アドレスを使用して、(Web サイトの訪問者ではなく) 私の受信トレイに電子メールを送信する単純なフォームを Web サイトに設定しようとしています。それほど複雑ではありませんが、テストしていると、メールアドレスが機能しないようです。エラーメッセージも表示されません。以下にコードを貼り付けます。

少なくとも、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 に関する限り、送信ボタンの横に 1 つのフォームがあります。フォームはおそらくユーザー情報を取得し、無意味なフィルターを適用してから、[送信] ボタンが 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