0

PHPのmail()関数を利用する方法は何千もあることは知っていますが、私はPHPにかなり慣れていないので、いくつかのポインターを使用して正しい方向に設定することができます。WordPress主導のサイトにPHPメール関数を書き込んでいて、メッセージフィールドを除くすべての情報(名前、電子メール、電話)を電子メールで送信します。私はこことすべてのPHP関連サイトで調査を行いましたが、自分が書いていることをよりよく理解できるように、特定の問題を理解したいと思います。つまり、コードは次のとおりです。

<?php

function spamcheck($field)
  {
  $field=filter_var($field, FILTER_SANITIZE_EMAIL);

  if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
        return TRUE;
    }
  else
    {
        return FALSE;
    }
  }

if (isset($_POST['email']))
  {

  $mailcheck = spamcheck($_POST['email']);
  if ($mailcheck==FALSE)
    {
        $submit_message = "Please input your information again.";
    }
  else
    {
        $name = $_POST['name'];
        $email = $_POST['email'];
        $phone = $_POST['phone'];
        $message = $_POST['message'];

    mail("emailaddress@gmail.com", "From: $name", "Email: $email", "Phone Number: $phone", "Message: $message");

    $submit_message = "Thank you for your message";
    }
  }
?>

そしてHTML...

<form name="message-me" id="contact-form" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="POST" enctype="multipart/form-data">
                <div class="field-group">
                    <label>Name:</label><input type="text" name="name" id="form_name" />
                </div>
                <div class="field-group">
                    <label>Email:</label><input type="text" name="email" id="form_email" />
                </div>
                <div class="field-group">
                    <label>Phone:</label><input type="text" name="phone" id="form_phone" />
                </div>
                <div class="field-group">
                    <label>Message:</label><textarea rows="4" cols="31" name="message" id="form_message"></textarea>
                </div>
                <div class="field-group">
                    <input type="image" src="<?php bloginfo('template_directory'); ?>/images/Send-Message-Arrow.png" width="90" height="72" class="form-button" />
                </div>
            </form>

どんな情報でも大歓迎です。すでに述べたように、私はまだPHPを学んでおり、コードを常に盲目的にコピーして貼り付けるだけでなく、自分が書いているものを本当に理解したいと思っています。ありがとう!

4

3 に答える 3

1

SMTP を設定する必要があります。まずそれを確認して、

//Header Information for mail
$headers = "YOUR HEADERS INFORMATION HERE";
$msg="Email: $email<br/>Phone Number: $phone<br/>Message: $message";
mail("emailaddress@example.com", $subject, $msg, $headers);
于 2013-03-18T05:29:00.950 に答える
0

指示と例が記載されたこのマニュアルを読んでください。そうすれば、自分が何をしているかをよく理解できます。時間をかけてよく読んで理解し、その時点から質問を始めてください。今のところ、PHPのmail()がどのように機能するかさえ理解していないようです。読んでから戻って、あなたが指摘した解決策を理解し、明日解決できずに解決策をコピーして貼り付けるだけではありません。

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

于 2013-03-18T04:29:52.373 に答える
0

Documentationをご覧ください。

パラメータを次のように指定する必要があります

mail($to, $subject, $message, $headers);

ここで、「宛先」の電子メール アドレスを指定しました。

だからこれはあなたを助けるかもしれません:

$message = $_POST['message'];

//Give mail a subject
$subject = "YOUR SUBJECT HERE";

//Header Information for mail
$headers = "YOUR HEADERS INFORMATION HERE";

mail("emailaddress@gmail.com", $subject, $message, $headers);

$submit_message = "Thank you for your message";

楽しみ!

于 2013-03-18T04:37:37.893 に答える