3

好的,

因此,我向我的用户设置发送了电子邮件通知,但他们收到通知说它来自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);
}
4

2 回答 2

0

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

$headers .= 'From: Blah Blah Blah <'.trim($settings['notification']) . ">' . "\r\n";
于 2012-12-20T00:15:41.573 回答
0

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

但是,我认为对您的问题的简单回答是设置 Sender 标头以及 From - 如果 From 标头包含一封电子邮件,RFC 说您“不应该”,但这不是禁止的。

https://www.rfc-editor.org/rfc/rfc2822#section-3.6.2

于 2012-12-19T23:59:17.307 回答