我需要能够填写的密码保护网页的形式,然后将信息发送给最终用户,但它也需要一个副本发送给仿制药销售额的电子邮件地址。
我已经有一段时间了,并且设法让它发送电子邮件,但最终只能发送到noreply地址。
index.php
<form method="post" name="process.php" action="process.php">
<p>Customer Name:</p><br><input type="text" name="name">
<p>Customer Email Address:</p><br><input type="text" name="email">
<p>Customer Order Number:</p><br><input type="text" name="order">
<p>Customer Order Date:</p><br><input type="text" name="date">
<p>Total Paid:</p><br><input type="text" name="cost">
<p>Tracking Number:</p><br><input type="text" name="tracking">
<br>
process.php
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$order = $_POST['order'];
$date = $_POST['date'];
$cost = $_POST['cost'];
$tracking = $_POST['tracking'];
?>
<?php
$email_from = "noreply@example.com";
$email_subject = "Your order details";
$email_body = "Hello,\n $name.\n".
"Your order number is:\n $order".
"Your order was placed on:\n $date".
"Your total cost is:\n $cost".
"Your tracking number is:\n $tracking".
"You can track your order on our website.\n".
"Thanks,\n examplecompany \n".
$to = $email.
$bcc = "sales@example.com".
$headers = "From: noreply@example.com \r\n";
$headers .= "Reply-To: constact@example.com \r\n";
mail($to,$email_subject,$email_body);
?>
<p>Sending Email…</p>
<meta http-equiv="refresh" content="10000;URL='https://staff.example.com/fulfilment/confirmorder/#useremail'"/>
应该发生的是电子邮件应发送给用户及复印件(用BCC)到销售@电子邮件地址。目前,该电子邮件不再发送,并且订单中的表单输入也不包括在内。
上面的代码的形式(这是在相同的目录中的一个单独的页面上)和process.php文档。
任何帮助,将不胜感激得到电子邮件发送到两个用户和销售客户,也包括实际的形式输入。
UPDATE: And with a HTML email body
有了HTML电子邮件正文,我可以更轻松地包含链接和公司徽标。
$email_body = '
<body>
<div>
Hello,<?php $name ?><br><br>
Your order number is: <strong><?php $order ?></strong><br>
Your order was placed on: <strong><?php $date ?></strong><br>
Your total cost is: <strong>£<?php $cost ?></strong><br>
Your tracking number is: <strong><?php $tracking ?></strong><br>
You can track your order on our website <a href="https://example.com/track">here</a>.<br><br>
Thanks,<br>examplecompany.<br>
<a href="https://example.com"><img src="https://example/assets/images/logo.png" alt="examplecompany logo" width="200px"></a>
</div>';
除了显示PHP $name
标签等之外,所有内容都可以在文本电子邮件中工作。
答案 0 :(得分:1)
这里$to = $email.
和这里$bcc = "sales@example.com".
似乎不应该跟在后面的点,而应该是分号。要发送到Bcc
必须添加一个多个报头是这样的:$headers .= "Bcc: somebodyelse@example.com\r\n";
这里的末尾应该是分号而不是点:
$email_body = "Hello,\n $name.\n".
"Your order number is:\n $order".
"Your order was placed on:\n $date".
"Your total cost is:\n $cost".
"Your tracking number is:\n $tracking".
"You can track your order on our website.\n".
"Thanks,\n examplecompany \n".
所以下面您可以看到工作代码:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$order = $_POST['order'];
$date = $_POST['date'];
$cost = $_POST['cost'];
$tracking = $_POST['tracking'];
$email_from = "noreply@example.com";
$email_subject = "Your order details";
$email_body = "Hello,\n $name.\n".
"Your order number is:\n $order".
"Your order was placed on:\n $date".
"Your total cost is:\n $cost".
"Your tracking number is:\n $tracking".
"You can track your order on our website.\n".
"Thanks,\n examplecompany \n";
$to = $email;
$headers = "From: noreply@example.com \r\n";
$headers .= "Bcc: sales@example.com \r\n";
$headers .= "Reply-To: constact@example.com \r\n";
mail($to, $email_subject, $email_body, $headers);
?>
UDATE:
要包含在PHP字符串变量,则需要用双引号"
,而不是单一的服务'
。但是在这种情况下,您需要转义HTML代码所需的所有双引号,为此,您必须在双引号之前放反斜杠,例如\"
。所以,下面是你的PHP字符串与工作代码HTML标签:
$email_body = "
<body>
<div>
Hello, $name<br><br>
Your order number is: <strong> $order</strong><br>
Your order was placed on: <strong> $date</strong><br>
Your total cost is: <strong>£ $cost</strong><br>
Your tracking number is: <strong> $tracking</strong><br>
You can track your order on our website <a href=\"https://example.com/track\">here</a>.<br><br>
Thanks,<br>examplecompany.<br>
<a href=\"https://example.com\"><img src=\"https://example/assets/images/logo.png\" alt=\"examplecompany logo\" width=\"200px\"></a>
</div>";
答案 1 :(得分:0)
似乎您的$bcc
变量没有在任何地方使用。您可以将内容添加到头部,这应有助于。看起来像这样:$headers .= "Bcc: sales@example.com\r\n";
您也可以发送邮件的两倍,但它会产生多一点的开销:
mail($to,$email_subject,$email_body);
mail($bcc,$email_subject,$email_body);
我希望这会有所帮助。