我正在尝试使用RHEL上的 PHP邮件功能和sendmail 发送邮件。标题中有一行,Received :(来自apache @ localhost),这会导致某些收件人丢弃该邮件。我需要将这部分标题替换为适当的用户/域:(比如说user@example.com)。我一直在和这个战斗,我只是不知道该怎么做。网上的讨论遍布各处。 脚本会指定发件人。
以下是SMTP标头的示例:
Received: from <omitted> (<omitted> [127.0.0.1])
by <omitted> (8.14.4/8.14.4) with ESMTP id rADEwvp4003653
for <omitted>; Wed, 13 Nov 2013 09:58:57 -0500
Received: (from apache@localhost)
by <omitted> (8.14.4/8.14.4/Submit) id rADEwvEj003650;
Wed, 13 Nov 2013 09:58:57 -0500
Date: Wed, 13 Nov 2013 09:58:57 -0500
Message-Id: <omitted>
To: <omitted>
Subject: <omitted>
From: user@example.com
Reply-To: user@example.com
答案 0 :(得分:1)
如果使用标准mail()
函数,则有一个隐藏参数,尝试将“-fuser @ domain”作为第五个参数传递
link
答案 1 :(得分:0)
将这样的事情作为第四个参数传递给你。它应该足以更改From字段,但不会保护您的邮件免受垃圾邮件文件夹的影响,因为它需要更多复杂的内容,如SPF记录和DKIM密钥。
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n";