更改发件人姓名PHP电子邮件?

时间:2012-12-19 23:21:55

标签: php html-email

好,

因此,我向用户设置了电子邮件通知,但是他们收到了来自notifications@domain.com的声明。相反,我希望它在收件箱中显示为“姓名/标题”而不是电子邮件地址。

这是我到目前为止所得到的:

$settings['notification'] = 'Notifications <notifications@domain.com>';

function nemail($to,$subject,$tpl,$var=array())
{
global $settings;
extract($var, EXTR_OVERWRITE);
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=utf-8" . "\r\n";
$headers .= 'From: '. trim($settings['notification']) . "\r\n" .
    'Reply-To: '. trim($settings['notification']) . "\r\n";
ob_start();
ob_implicit_flush(false);
require(realpath("themes/".$settings['theme']."/template/email_".$tpl.".php"));
$message = ob_get_clean();
@mail($to, $subject, $message, $headers);
}

2 个答案:

答案 0 :(得分:0)

正如RTB在评论中所说,您应该考虑使用PHPMailer进行电子邮件发送。

但是,我认为你的问题的简单答案是设置发件人标头以及发件人 - 如果From标头包含一封电子邮件,则说“你不应该”,但不禁止。< / p>

http://tools.ietf.org/html/rfc2822#section-3.6.2

答案 1 :(得分:0)

你可以这样试试(来自http://php.net/manual/en/function.mail.php #Example 4)

$headers .= 'From: Blah Blah Blah <'.trim($settings['notification']) . ">' . "\r\n";