1

ホスティングを購入し、Web メールを作成しましたが、ホスティングでお問い合わせフォームのメール機能が動作しません。「エラー」が表示されます。どこが間違っているのかわかりませんでした。私はグーグルで検索し、例を見ましたが、私の問題を解決しませんでした.助けてください. ありがとう。 編集情報:ホスティングを開始したときは、Windows ホスティングでした。マイク機能は機能していました。しかし、Linuxホスティングに合格し、cpanelで再度メールを作成しました。しかし、現在、メール機能が機能していません。再度、感謝します。

Edit2:こんにちは、このコードは Windows ホスティングで機能しました。問題はLinuxホスティングに起因すると思います...これは私のコードです:

contact.html

<html>
<form action="contact_form.php" method="POST" enctype="multipart/form-data" id="contactform">

            <fieldset class="row">

                <legend>Contact me :)</legend>

                <p>
                    <label for="your-name">Your Name</label>
                    <input type="text" name="name" id="your-name" class="input-xlarge">
                </p>

                <p>
                    <label for="your-email">Your Email <span class="required">(required)</span></label>
                    <input type="email" name="email" id="your-email" class="input-xlarge" required>
                </p>

                <p>
                    <label for="your-subject">Subject</label>
                    <input type="text" name="subject" id="your-subject" class="input-xlarge">
                </p>

                <p>
                    <label for="your-message">Your message <span class="required">(required)</span></label>
                    <textarea name="message" cols="50" rows="10" id="your-message" class="input-xxlarge" required placeholder="What do you want to say?"></textarea>
                </p>

                <!-- This is hidden for normal users -->
                <div class="hidden">
                    <label>
                        Do not fill out this field
                        <input name="s_check">
                    </label>
                </div>

                <p>
                    <input type="submit" id="submit" name="submit" class="primary" value="Send Message">
                </p>

                <p hidden id="response"></p>

            </fieldset>

        </form>
</html>

contact_form.php

<?php
if(isset($_POST['submit'])) {
        $to = 'info@xyz.com';

        $name = stripslashes($_POST['name']); //sender's name
        $email = stripslashes($_POST['email']); //sender's email
        $subject = stripslashes($_POST['subject']); // the subject

        echo $name."<br/>";
        echo $email."<br/>";
        echo $subject."<br/>";

        //The message you will receive in your mailbox
        $msg  = "From : $name \r\n";  //add sender's name to the message
        $msg .= "e-Mail : $email \r\n";  //add sender's email to the message
        $msg .= "Subject : $subject \r\n\n"; 
        $msg .= "---Message--- \r\n".stripslashes($_POST['message'])."\r\n\n";                        $msg .= "---User information--- \r\n"; //Title
        $msg .= "User IP : ".$_SERVER["REMOTE_ADDR"]."\r\n"; //Sender's IP
        $msg .= "Browser info : ".$_SERVER["HTTP_USER_AGENT"]."\r\n"; //User agent
        $msg .= "User come from : ".$_SERVER["HTTP_REFERER"]; //Referrer

        if  (mail($to, $subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n")){

        //Message sent!

        echo nl2br("
        <div class=\"MsgSent\">
            <h1>Congratulations!!</h1>
            <p>Thank you <b><?=$name;?></b>, your message is sent!<br /> I will get back to you as soon as possible.</p>
        </div>
       ");
       exit;
        }
        else{

        // Display error message if the message failed to send
        echo "
        <div class=\"MsgError\">
            <h1>Error!!</h1>
            <p>Sorry <b><?=$name;?></b>, your message failed to send. Try later!</p>
        </div>";
        exit;
        }

}


?>
4

2 に答える 2

1
<p>Thank you <b><?=$name;?></b>, your message is sent!<br />
<p>Sorry <b><?=$name;?></b>, your message failed to send. Try later!</p>

する必要があります

<p>Thank you <b>{$name}</b>, your message is sent!<br />
<p>Sorry <b>{$name}</b>, your message failed to send. Try later!</p>

また、なぜ nl2br を使用しているのか不明な場合は、単純なエコーで十分です。

于 2013-02-26T12:12:41.020 に答える
0

他の場所で述べたように、このmail()関数には問題があります。レベルが非常に低く、操作が簡単ではありません。

まったく使用しないことをお勧めします。PHPには、はるかに使いやすく、はるかに優れた結果をもたらし、はるかに強力な、非常に優れたメーラークラスがいくつかあります。

私の提案はphpMailerを使用することです; このサンプルページからわかるように、非常に使いやすいです。しかし、他にもいくつかの代替ライブラリが利用可能です。

于 2013-02-26T14:12:15.920 に答える