带变量的简单php邮件头

时间:2014-05-19 19:54:05

标签: php function email

我无法获得此标头来显示某些奇怪原因所需的变量。我知道它非常轻微。我知道这有效:

$headers .= 'Bcc: example@aol.com' . "\r\n";

有人可以帮我解决这个问题。完整代码:

<?php

if ($_POST){

$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$message .= "<hr />Sent from your Website at example.com.";


$to = 'person@aol.com';
$from = $email;

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// THE EMAIL IS NOT SENDING THE SENDER OF THE EMAIL 
// the from and bcc do not work as needed!
// More headers, put on double quotes
$headers .= 'From:'.$from."\r\n";

$headers .= 'Bcc: '.$from."\r\n";


// send
if (mail($to,$subject,$message,$headers))
{
  echo "Message was successfully sent! $from";

} else {
echo "Something went wrong..";
}



} else {

}

?>

3 个答案:

答案 0 :(得分:2)

在您的第一个&#39; Bcc之后,你错过了一个点(句号):&#39;。

应该是

  $headers .= 'Bcc: ' . $from . "\r\n";

更新:

使用\ r和\ n等特殊字符时,需要使用双引号。在您的原始示例代码中,您使用了双引号,但我现在看到您的完整代码未实际使用它们,您使用的是单引号。

PHP中的单引号字符串显示特殊字符作为文字。

所以你的行应该是

$headers .= 'From: ' . $from . "\r\n";
$headers .= 'Bcc: ' . $from . "\r\n";

答案 1 :(得分:0)

使用它将完美地工作:

$headers .= 'From:  "'.$from.'"' . "\r\n";

答案 2 :(得分:0)

最简单,最好的方式

"From: ". $email. "\r\n";