27

我正在尝试从我的 php 发送电子邮件:

$to = 'it@7sisters.in';
    $email_from = "info@7sisters.in";

    $full_name = 'Suraj Hazarika';
    $from_mail = $full_name.'<'.$email_from.'>';



    $subject = "testing sender name";
    $message = "";
    $message .= '
            <p><strong>This is only a test . Please do not reply.</strong><br />
    ';
    $from = $from_mail;

    $headers = "" .
               "Reply-To:" . $from . "\r\n" .
               "X-Mailer: PHP/" . phpversion();
    $headers .= 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";        
    mail($to,$subject,$message,$headers);

我正在关注PHP 电子邮件表单发件人名称而不是电子邮件的教程?但我仍然收到带有主机名的发件人姓名的电子邮件。

     From                              Date             Subject 
sisters@rsx02.justhost.com  Fri, 11:24 pm       testing sender name
sisters@rsx02.justhost.com  Fri, 11:24 pm       testing sender name
4

6 回答 6

30

我来这个问题是为了寻找不同但有相似词的东西,所以这里是如何做我正在寻找的东西:

from标题中,将地址放在尖括号中,并将“发件人姓名”放在它的外面。

from: Don Draper <don.draper@website.com>\n

我希望收件箱说Don Draper而不是,don.draper这就是这样做的方法。

于 2012-11-21T05:37:58.240 回答
25

你只$from在你的Reply-To标题中使用。如果您希望它位于From标题中,则需要在标题中进行设置From

mail()在你的命令之前放这样的东西:

$headers .= 'From: ' . $from . "\r\n";
于 2011-12-03T05:34:34.887 回答
10

在标题行之前添加此行

$headers .= "From: Your Name <sitename@hostname.com> \r\n";

所以代码将是

$headers = "";
$headers .= "From: WIFI Metropolis <sitename@hostname.com> \r\n";
$headers .= "Reply-To:" . $from . "\r\n" ."X-Mailer: PHP/" . phpversion();
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";        
mail($to,$subject,$message,$headers);
于 2016-03-17T13:48:59.893 回答
6

您还可以尝试From使用 PHP 函数中的第五个参数将地址添加到邮件的“信封”中mail()

mail($to_mail, $subject, $message, $headers, "-f$from_email");

参考这里

有关邮件标题和信封的参考这里

请注意,某些服务器设置可能不允许这样做或发出警告,具体取决于它们的配置和/或邮件传输代理的配置。这个答案谈到了更新sendmail的“受信任用户”。

于 2014-02-12T15:38:02.490 回答
1

只需添加 From 标题。像这样的东西。

$headers .= "From: website@mydomainname.com";
于 2011-12-03T05:34:59.687 回答
1

尝试添加From:到标题

$headers = "" .
           "Reply-To:" . $from . "\r\n" .
           "From:" . $from . "\r\n" .
           "X-Mailer: PHP/" . phpversion();
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";  

一些 MTA 可以更改/忽略此定义以避免垃圾邮件,并使用 PHP.ini 中配置的 SMTP 用户覆盖

于 2011-12-03T05:35:46.520 回答