0

わかりました、私はPHPにかなり慣れていないので、私が間違っていることを皆さんに尋ねようと思いました. 私は現在ウェブサイトを開発しています。この電子メール フォームから会社に連絡できます。

しかし、なぜかメールが届かない。複数の電子メールを試しました (そしてコードで少し遊んでみました) が、うまくいきません。

mail.php スクリプトは次のとおりです。

    <?php
if ($_POST) {
    $name  = $_POST['name'];
    $email = $_POST['email'];
    $text  = $_POST['text'];

    //send email   
    mail("myemail@gmail.com", "email enquiry", $text, "From:" . $email);
}

?>

私のscript.jsからのフォームに関するスニペットは次のとおりです。

    //Contact Form Code:
        $(function (e) {
            $(".form-button").click(function (e) {
                var $error = 0;
                var name = $("#form-name").val();
                var email = $("#form-email").val();
                var text = $("#form-msg").val();
                var security = $("#form-security").val();


                if(name == "" || email=="" || text=="" ){
                    $('#details-error-wrap').fadeIn(1000);
                    $error = 1;

                }else{
                    $('#details-error-wrap').fadeOut(1000);
                }

                if(security != 8 ){
                    $('#security-error-wrap').fadeIn(1000);
                    $error = 1;

                }else{
                    $('#security-error-wrap').fadeOut(1000);
                }

                if( /(.+)@(.+){2,}\.(.+){2,}/.test(email) ){

                } else {
                  $('#details-error-wrap').fadeIn(1000);
                  $error = 1;
                }



                var dataString = 'name=' + name + '&email=' + email +   '&text=' + text;

                if($error == 0){
                    $.ajax({
                        type: "POST",
                        url: "mail.php",
                        data: dataString,
                        success: function () {
                            $('#details-error-wrap').fadeOut(1000);
                            $('#security-error-wrap').fadeOut(1000);
                            $('#form-sent').fadeIn(1000);
                        }
                    });
                    return false;
                }

                e.preventDefault();
            });
        });


});

最後に、HTML は次のとおりです。

        <div class="seven columns">

        <div id="form-sent" class="hide">   
            <div class="alert-box success">Message sent: Thankyou for your enquiry</div>
        </div>
        <form id="contact-form">
            <label>Name *</label>     
            <input id="form-name" type="text"/>
            <label>Email *</label>
            <input id="form-email"  type="text" />
            <label>Message *</label>
            <textarea id="form-msg"></textarea>
            <div id="details-error-wrap"  class="hide"> 
            <div class="alert-box alert error-box">Error: Please ensure all fields are filled in correctly</div>
            </div>
            <label>Security Question *</label>
            <input id="form-security" type="text" placeholder="7 + 1 = ?" />
            <div id="security-error-wrap"  class="hide">    
                <div class="alert-box alert error-box">Error: Security question is incorrect</div>
            </div>  
            <input type="submit" value="Submit" class="form-button right" />

        </form>

    </div>
</div>

関連する3つのことをすべて投稿しました。この Web サイトの一部は、私が使用しているテンプレートからのものです。問題が別のファイルにあると思われる場合は、お知らせください。

事前に感謝します。誰かが私を助けてくれることを願っています:)

4

1 に答える 1

0

まず、迷惑メールフォルダに入っている可能性があります。

個人のメールアドレスを使用してメールを送信していますか? me@gmail.comのような?

その場合、明らかにうまくいかないので、メールがファイアウォールを通過して実際に受信トレイに届くように、SMTPをセットアップする必要があります。

スクリプトをより適切にフォーマットすることもできます。また、IF ステートメントを使用して、メールが実際に PHP によって送信されているかどうかを確認することもできます。

 $to = 'myemail@gmail.com'; //Change this to the email you're using
 $subject = 'Website Contact Form';
 $headers = "From: " . "Me!! <myemail@gmail.com>" . "\r\n"; //This too
 $content  = "Hey!";

 if (mail($to, $subject, $content, $headers)) {
  echo "Success! Email was sent - Yay!";
 } else {
  echo "Error sending Email! booo!";
 }
于 2013-09-06T14:28:11.070 に答える