将发件人名称更改为php mail而不是sitename@hostname.com



我正在尝试从我的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 . "rn" .
               "X-Mailer: PHP/" . phpversion();
    $headers .= 'MIME-Version: 1.0' . "rn";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "rn";        
    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

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

from标题中,将地址放在尖括号中,并将"发件人名称"放在外面。

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

我想让收件箱显示Don Draper而不是don.draper,这就是如何做到的。

您只能在Reply-To标题中使用$from。如果你想让它在From头中,你需要在From头中设置它。

mail()命令前添加如下内容:

$headers .= 'From: ' . $from . "rn";

在标题行前添加一行

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

所以代码是

$headers = "";
$headers .= "From: WIFI Metropolis <sitename@hostname.com> rn";
$headers .= "Reply-To:" . $from . "rn" ."X-Mailer: PHP/" . phpversion();
$headers .= 'MIME-Version: 1.0' . "rn";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "rn";        
mail($to,$subject,$message,$headers);

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

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

参考这里。

此处关于邮件头和信封的参考

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

只需添加From页眉。像这样。

$headers .= "From: website@mydomainname.com";

尝试将From:添加到header

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

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

最新更新