PHP / Apache / Sendmail收到:(来自apache @ localhost)

时间:2013-11-13 15:12:13

标签: php apache sendmail

我正在尝试使用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

2 个答案:

答案 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";