如何通过PHP设置电子邮件发件人的姓名

时间:2012-02-28 18:58:47

标签: email php

因此,当打开电子邮件时,我希望from字段类似于

"Jack Sparrow Via somesite",而非明确的电子邮件地址。

我想知道如何在PHP的mail()函数中设置它?

6 个答案:

答案 0 :(得分:32)

您可以使用基本标题来完成此操作。

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: Jack Sparrow <jsparrow@blackpearl.com>' . PHP_EOL .
    'Reply-To: Jack Sparrow <jsparrow@blackpearl.com>' . PHP_EOL .
    'X-Mailer: PHP/' . phpversion();

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

答案 1 :(得分:11)

您必须设置标题:

$to = "Someone@email.com";
$header = "FROM: Jack Sparrow <some@site.com>\r\n";
$message = "Your message here.";
$subject = "Your subject";

mail($to,$subject,$message,$header) or die();

答案 2 :(得分:2)

就像这样使用

$headers .= 'From: [Name of the person]'.'<'. $this->from .'>'. "\n";

在标题部分。

答案 3 :(得分:2)

如果您使用GitHub中的PHP Mailer,那么您可以通过以下方式完成:

$mail->SetFrom("info@mibckerala.org", "MIBC");

答案 4 :(得分:2)

$to = "Someone@email.com";
$message = "Your message here.";
$subject = "Your subject";

mail($to,$subject,$message,$header, '-f some@site.com -F "Jack Sparrow"') or die();

只需添加-f参数以提供发件人的电子邮件,并添加-F参数以将发件人的名称提供给mail(),所有这些都作为字符串。

注意:“ Jack Sparrow”周围的双引号

假设您正在Linux机器上使用sendmail:

您可以通过在shell中键入“ man sendmail”来查找更多详细信息。

答案 5 :(得分:1)

我不确定您的意思,但正如您在PHP.net mail function上看到的那样。

要将名称添加到from部分,您需要在标题中发送此名称。 From:Name<email@example.com>