0

名前、メールアドレス、電話番号を入力できる標準的な連絡フォームがあります。定形どおりに指定のメールアドレスにメールを送信するだけでなく、

$to      = 'diysoakwells@hotmail.com';

また、フォームから入力したメールアドレスのアドレスを使用して、ユーザーにメールを送信したいと思います。私は、次のように電子メール入力から post 変数を使用するとうまくいくと考えていました:

$to      = 'diysoakwells@hotmail.com', $email;

しかし運がない。誰かが私を正しい方向に向けることができますか?このアプローチを使用する際にセキュリティ上のリスクはありますか? 最終的には、チェックボックスをオンにすると、メールのコピーが自分自身に送信されるチェックボックスをユーザーに提供することを目指しています。

ここに私のフォームへのリンクがあります

http://www.diysoakwells.com.au/cart.php

前もって感謝します : )

<?php
include_once("wsp_captcha.php");

if(WSP_CheckImageCode() != "OK") {
header('location:/form-rejected.php');
die();
}
$to      = 'diysoakwells@hotmail.com';
$subject = 'Order Inquiry';
$jcitems = " <p><b>ORDER:</b></p><p> " . $_POST['jcitems']."<p/>" . "<p><b>Total:</b> $" . $_POST['jctotal']."</p>";
$time = date ("h:i A"); 
$date = date ("l, F jS, Y");
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= 'From: inquiry@diysoakwells.com' . "\r\n" .
'Reply-To: noreply@diysoakwells.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$name = $_POST['name'];
$phone = $_POST['phone'];
$emaile = $_POST['emaile'];
$textbox = $_POST['textbox'];
$text = "<html><body><p><b>Message:</b>\n$textbox</p><p>This form was submitted on Your Web Site on \n $date at\n $time</p><p><b>Customers Email Address:</b> $emaile</p><p><b>Customers Name:</b> $name </p><p><b>Customers Phone Number:</b> $phone </p></html>    </body>";
$body = $text . $jcitems;
mail($to, $subject, $body, $headers);
Header('Location: ../form-accepted.php');
?>
4

3 に答える 3

1

電子メールの「to」フィールドは、電子メールアドレスがコンマで区切られた文字列を受け入れます。

$to = 'diysoakwell@hotmail.com, ' . $emaile;

トリックを行う必要があります。

彼らが提供する電子メールアドレスが電子メールアドレスとしてフォーマットされていることを確認する必要があります。自動ボットがフォームをスパムツールとして使用するのを防ぐために、CAPTCHAを用意することをお勧めします。

于 2012-05-09T13:24:30.023 に答える
1

PHPのmail() 関数を使用する場合は、次のような追加のヘッダーを指定してコピーを送信できます。

$headers = 'Cc: '.$emaile;
mail($to, $subject, $message, $headers);
于 2012-05-09T13:28:45.613 に答える
1

あなたがしていることは、あなたがしたいことではありません。PHP で 2 つの文字列を連結するには、. ではないため、正しい構文は次のとおりです。

$to      = 'diysoakwells@hotmail.com'.", ".$emaile;

または単に

$to      = "diysoakwells@hotmail.com, $emaile";

これは、電子メールの送信を担当するコードが $to 引数で複数の電子メールを許可する php のmail()関数を使用していることを前提としています。それがうまくいかない場合は、実際のコードを見ないと役に立ちません。

于 2012-05-09T13:23:36.123 に答える