【问题标题】:PHP mail to variablePHP邮件到变量
【发布时间】:2012-07-11 23:03:04
【问题描述】:

我已经搜索并搜索了类似的东西,但我认为我做得不对。所以我会问一个问题。这是非常基本的。我的问题如下:

我有一个多页表单,由 4 页 + 1 个预览页组成。在预览页面上,提交后我希望将整个表单数据发送到 2 个不同的邮件地址。一种标准,另一种是用户提交的标准。

所以我有:

<?php

$name = $_POST['name'];

  $visitor_email = $_POST['email'];

  $message = $_POST['message'];

?>

<?php

 $email_from = 'mail@company.com';

 $email_subject = "New Form submission";

    $email_body = "You have received a new message from the user $name.\n".
                            "Here is the message:\n $message".



$to = "yourname@yourwebsite.com, $email /n";

 $headers = "From: Company";


  mail($to,$email_subject,$email_body,$headers);

?>

我应该如何插入提交的 $email 变量以使其工作?

【问题讨论】:

  • 缩进代码块 4 个空格(高亮和 Ctl-k)用于语法高亮和良好的演示

标签: forms phpmailer php


【解决方案1】:

删除\n

$to = 'yourname@yourwebsite.com,' . $visitor_email;

【讨论】:

  • 这是php不是js,去掉+符号,换上.符号
  • '+' 不是 PHP 中的字符串连接运算符。句点('.')是。
【解决方案2】:

根据the mail() function documentation$to 参数将采用逗号分隔的地址列表,正如您所尝试的那样,但最后不应有换行符。 另外,您的变量是$visitor_email,而不是$email

$to = "yourname@yourwebsite.com, $visitor_email";

您也可以考虑将访问者的电子邮件添加为抄送或密件抄送而不是收件人地址。在这种情况下,将其添加为 CC 或 BCC 标头(由 \r\n 分隔),但您需要小心确保该地址是电子邮件地址并且不包含可用于 header injection 的换行符.

// The From should be an email address
$headers = "From: company@example.com\r\n";
$headers .= "CC: $visitor_email;

【讨论】:

  • 是的,我急着写一些示例代码。完美的答案。正是我需要的。谢谢!
猜你喜欢
  • 2011-04-02
  • 2011-10-09
  • 1970-01-01
  • 1970-01-01
  • 2012-08-13
  • 2015-09-02
  • 1970-01-01
  • 2014-09-22
  • 2011-07-06
相关资源
最近更新 更多