【发布时间】:2019-06-26 11:02:56
【问题描述】:
我需要能够在受密码保护的网页上填写表格,然后将信息发送给最终用户,但它还需要将副本发送到通用销售电子邮件地址。
我已经有一段时间了,并设法让它发送电子邮件,但他们最终只发送到 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'"/>
应该发生的事情是电子邮件应该发送给用户,并将副本(使用密件抄送)发送到 sales@ 电子邮件地址。目前电子邮件不再发送,并且表单中的输入不包含在订单中。
上面的代码有表单(在同一目录的单独页面上)和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 标记等之外,文本电子邮件中的所有内容都有效。
【问题讨论】:
-
您究竟是在哪里试图发送到密件抄送地址?我没有看到
$bcc实际上在任何地方使用过。 -
嘿,@PatrickQ 我只想向下订单的用户和销售团队发送相同的电子邮件。如果这有意义吗?道歉
-
如果 PHPMailer、SwitfMailer 或类似的久经考验的邮件库,我也建议您使用一个。它们不仅会为您提供更详细的 API,而且还可以更轻松地设置为使用 SMTP 服务器(我会推荐),并且您的代码将独立于服务器配置(更便携)。
-
是的,这是有道理的。没有意义的是为什么您似乎没有尝试实际这样做。如果您想向销售团队发送电子邮件,为什么不做任何事情呢?