0

我正在尝试使用PHP 邮件功能和RHEL 上的 sendmail 发送邮件。标题中有一行 Received: (from 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
4

2 回答 2

1

如果您使用标准mail()函数有一个隐藏参数,请尝试将“-fuser@domain”作为第五个参数 链接传递

于 2013-11-13T15:29:39.653 回答
0

传递这样的东西作为第四个参数。更改“发件人”字段就足够了,但不会保护您的邮件免受垃圾邮件文件夹的影响,因为它需要更复杂的东西,例如 SPF 记录和 DKIM 密钥。

$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n";
于 2013-11-13T15:21:25.210 回答