在PHP邮件中更改mailed-by标头

时间:2010-07-28 03:44:22

标签: php email gmail header

我在mail()函数中配置了多个标题,发件人名称和其他字段显示为已设置。但是,在gmail mailed-by字段中,我看到了我的服务器的主机名,即使我已经将Mailed-By标头设置为不同...有没有办法改变它,或者我是否指定了错误的标题会影响变化吗?

当前标题:

From: no-reply@example.com
Mailed-By: Example.com
X-Mailer: Example/1.0

4 个答案:

答案 0 :(得分:8)

如果您发布要发送的标头,则可以更轻松地诊断问题。但据我所知,标题应该是“X-Mailer”来设置应用程序mailed-by字段。如果这不起作用,请发布您当前的标题,我们可以帮助您进一步/更好。

修改

进行一些进一步的研究,似乎第5个参数带有“-f”标志就是这样做的方法:

mail($to, $message, $body, $headers, '-fnoreply@yourmailer.com');

有可能吗?这通常是一个电子邮件地址,因此您必须查看它接受的值等。我从Joyent Discussion Board找到了此信息。

但是读到它可能不是你想要的。

  

-fname设置from'' person (i.e., the sender of the mail). -f can only be used by受信任''用户的名称(通常为                    root,守护进程和网络)或者你正在尝试的那个人                    变得和你这个人一样。

来自sendmail Man page。我会看看我是不是可以用其他任何东西来弹奏。

答案 1 :(得分:2)

听起来邮件传输代理或gmail在离开PHP后添加了mailed-by标头。听起来这可能是一项安全措施,因此可以追踪滥用报告。

答案 2 :(得分:0)

我不知道这是否已经解决,因为它已经过时但我在网站的联系页面上遇到了同样的问题。我们希望俱乐部会员能够使用表格联系官员。但我希望它看起来像来自用户输入的电子邮件地址,以便官员可以直接回复。我找到了这段代码并为我的网站修改了它。

  $headers = "From: <$email> \n";
  $headers .= "X-Sender: <$from>\n";
  $headers .= "X-Mailer: PHP\n";

$ email是用户输入的地址。我不能说我理解这一切,但它解决了我的问题。

答案 3 :(得分:0)

您无法设置自己的Mailed-by选项。 你必须发布你的spf记录,并且应该有DKIM签名。 有关额外信息,请单击此链接。

https://support.google.com/mail/answer/180707?hl=en