我在mail()
函数中配置了多个标题,发件人名称和其他字段显示为已设置。但是,在gmail mailed-by
字段中,我看到了我的服务器的主机名,即使我已经将Mailed-By标头设置为不同...有没有办法改变它,或者我是否指定了错误的标题会影响变化吗?
当前标题:
From: no-reply@example.com Mailed-By: Example.com X-Mailer: Example/1.0
答案 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签名。 有关额外信息,请单击此链接。