0

私のウェブサイトは HTML5 です。したがって、私のファイルは.html. contact.htmlPHP を使用してメッセージを送信するために使用したいファイルがあります。私は PHP の経験があまりありません (そのため、.NET 以外のより良い代替の電子メール送信方法を誰かが推奨できる場合は、私に知らせてください)。

私が最初に考えたのは、PHP コードを HTML ファイル内に含めることでした (これが可能かどうか、または推奨されるかどうかはわかりません)。formこれは以前に一度行ったことがありますが、その属性のどこかに.php、電子メールの送信に使用したファイルを 指定するタグがあったことを覚えていると思います。

のようなもの<form someattribute="sendmail.php"> ... </form>

質問:私がやるべきだと思うこと (上記) を考えると、これが最善のアプローチ (form タグ内で PHP ファイルを指定すること) ですか、それとも raw ファイルから電子メールを送信するためのより良い方法をお勧めします.htmlか?

4

5 に答える 5

5

HTMLだけではできません。PHPソリューションに固執する場合は、試してください

<?php
    if(isset($_POST['send'])) //check the submit button was pressed
    {
        //get variables from POST array. Remember we specified POST method
        $to = $_POST['to'];
        $subject = $_POST['subject'];
        $message = $_POST['message'];

        //set up headers
        $headers = 'From: webmaster@example.com' . "\r\n" .
                    'Reply-To: webmaster@example.com' . "\r\n" .
                    'X-Mailer: PHP/' . phpversion();

        //send the email and save the result
        $result = mail($to, $subject, $message, $headers); 

        //was it sent?
        if($result)
        {
            echo "Successfuly sent the email";
        }
        else
        {
            echo "An error has occured";
        }
    }
?>
<hr>
<form method="POST">
    To: <input type="text" name="to"> <br>
    Subject: <input type="text" name="subject"> <br>
    Text: <textarea name="message"></textarea><br>
    <input type="submit" value="Send" name="send">
</form>

同じファイルであるため、フォームが指す場所を指定する必要はありません。それ以外の場合は

<form action="somefile.php" method="POST">

メソッド POST を指定する必要がありますが、そうしないと、デフォルトですべてのデータが GET 経由で送信されます。

PHP には、電子メールの送信に使用されるメール関数がありますhttp://php.net/manual/en/function.mail.php

メールの配信が正常に受け入れられた場合は TRUE を返し、それ以外の場合は FALSE を返します。

メールが送信されたかどうかを確認し、対応するメッセージを印刷します。次に、結果に関係なく、メッセージ フォームを出力します。

于 2013-07-31T14:00:15.687 に答える
2

データをphpファイルに投稿することで、簡単にメールを送信できます。そのphpファイルにユーザーアクション= 'phpファイル名.php'の形式でコードを書くだけです。それでおしまい。

于 2013-07-31T13:58:21.143 に答える
2

フォーム情報を電子メールで送信する場合は、非常に簡単です。

<form action="sendmail.php">

php ファイルを正しくコーディングしていることを確認する必要があります。

于 2013-07-31T13:58:58.817 に答える
2

http://php.net/manual/en/function.mail.php

mail.html

<form action="mail.php" method="post">
    To <input type="text" name="to"/><br/>
    Subject <input type="text" name="subject"/><br/>
    Message <textarea name="message"></textarea><br/>
    <input type="submit" value="Send"/>
</form>

メール.php

<?php
    mail($_POST["to"] , $_POST["subject"], $_POST["message"]);
    header("Location: mail.html"); //redirect the user
?>
于 2013-07-31T14:02:25.960 に答える