我有一个非常标准的联系表格,其中包含姓名,电子邮件地址和电话号码的输入。除了按照标准表格将电子邮件发送到指定的电子邮件地址外,
$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');
?>
答案 0 :(得分:1)
你做的不是你想做的事。在PHP中连接两个字符串是使用。不是,所以正确的语法是:
$to = 'diysoakwells@hotmail.com'.", ".$emaile;
或只是
$to = "diysoakwells@hotmail.com, $emaile";
这是假设负责发送电子邮件的代码使用php的mail()
函数,该函数允许在$ to参数中发送多封电子邮件。如果这不起作用,如果没有看到实际的代码,我将无法使用。
答案 1 :(得分:1)
电子邮件中的“收件人”字段接受字符串,电子邮件地址以逗号分隔。
$to = 'diysoakwell@hotmail.com, ' . $emaile;
应该这样做。
您应该检查他们提供的电子邮件地址是否格式化为电子邮件地址,并且最好使用CAPTCHA来防止自动机器人将您的表单用作垃圾邮件工具。
答案 2 :(得分:1)
如果您使用php mail() function,您可以通过指定其他标题来发送副本:
$headers = 'Cc: '.$emaile;
mail($to, $subject, $message, $headers);