我有一个非常标准的联系表格,上面输入了姓名、电子邮件地址和电话号码。以及按照标准表格将电子邮件发送到指定的电子邮件地址,
$to = 'diysoakwells@hotmail.com';
我还想使用表单中输入的电子邮件地址中的地址向用户发送电子邮件。我认为像这样使用电子邮件输入中的 post 变量会起作用:
$to = 'diysoakwells@hotmail.com', $email;
但没有运气。有人可以指出我正确的方向吗a,使用这种方法是否存在任何安全风险?我的最终目标是为用户提供一个复选框,如果选中该复选框,则会将电子邮件的副本发送给自己。
这是我的表格的链接
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');
?>
你做的不是你想做的。 在 PHP 中连接两个字符串是使用 . 而不是 ,因此正确的语法是:
$to = 'diysoakwells@hotmail.com'.", ".$emaile;
或者干脆
$to = "diysoakwells@hotmail.com, $emaile";
这是假设负责发送电子邮件的代码使用 php 的 mail()
函数,该函数允许在 $to 参数中发送多封电子邮件。如果这不起作用,那么如果不看到实际代码,我就不能更有用。
电子邮件上的"to"字段接受一个字符串,电子邮件地址以逗号分隔。
$to = 'diysoakwell@hotmail.com, ' . $emaile;
应该做这个伎俩。
您应该检查他们提供的电子邮件地址是否格式化为电子邮件地址,最好有一个 CAPTCHA 以防止自动机器人将您的表单用作垃圾邮件工具。
如果你使用 php mail() 函数,你可以通过指定额外的标头来发送副本,如下所示:
$headers = 'Cc: '.$emaile;
mail($to, $subject, $message, $headers);