如何为PHP邮件添加自定义标头?

时间:2012-03-16 18:38:11

标签: php email

我有一个带有标准参数的邮件功能:

mail($to, $subject, $message, $headers);

其中:

$headers = "From: admin@mysite.org";
$headers .= "\r\nContent-Type: multipart/alternative; boundary=\"PHP-alt-".$random_hash."\""; 

现在,我正在尝试将已发送的电子邮件显示为“我的网站”作为发件人,而不是“admin@mysite.org”,但如果有人回复邮件,则仍需要转至admin @ mysite .ORG。

我已经尝试将“我的网站”放在电子邮件地址之前和之后的“发件人”字段中,但它只是附加到地址。我已经尝试将它附加到$ he​​aders变量但是这会混淆整个电子邮件。我也尝试过这样添加:

$headers .= "\r\nMy Site";

但这似乎没有做任何事情。

我知道这并不复杂,因为我已经看过它做了一百次,但我似乎无法找到一个直截了当的答案 - 我如何'掩盖'管理员电子邮件与网站名称,但仍然将其作为任何响应的地址?

2 个答案:

答案 0 :(得分:7)

From:标题更改为"From: My Site <admin@mysite.org>"

$headers = "From: My Site <admin@mysite.org>";
$headers .= "\r\nContent-Type: multipart/alternative; boundary=\"PHP-alt-".$random_hash."\"";

来自PHP Docs

答案 1 :(得分:0)

"From: something <something@something.com>";标头,然后还有mail()的可选第五个参数,它允许您覆盖php.ini中可能设置或未设置的from设置。

<?php
  $to = 'name@domain.com.au';
  $header = 'MIME-Version: 1.0' . "\r\n";
  $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  $header .= "From: Name <noreply@domain.info>" . "\r\n";
  $fifthp = '-f noreply@domain.info';
  mail($to, $subject, $message, $header,$fifthp);
?>