0

每当我使用 php 发送邮件时,收件人都会收到类似“来自:Website plc info@website.com via mirage.arandomserver.com ”的信息

我怎样才能完全摆脱服务器名称?

这是我当前的脚本”

$to="$Email";
$subject="Message received";
$headers= 'From: Website plc <info@website.com>' . "\r\n" .
'Reply-To: $Email' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

$contact_message="
Dear $FirstName $Surname,

message

Thanks
P&C Group Careers
http://www.career.pandcgroupng.com
 ";

 mail("$to", "$subject", $contact_message, $headers);
4

3 回答 3

3

使用“来自地址的信封”附加参数。

mail($to, $subject, $contact_message, $headers, '-f info@website.com');

该地址将在邮件系统内部用于路由目的。请注意,这也绕过了邮件过滤软件检测来自与实际始发服务器不匹配的地址的“坏”的一些问题。

编辑 - 我在 Windows 上完全没有这方面的经验。

于 2013-03-18T17:58:31.253 回答
1

当 Gmail 无法验证“website.com”实际上是在发送电子邮件时,会出现“via mirage.arandomserver.com”。Gmail 会检查许多因素,包括来自发送 SMTP 服务器的反向 DNS、SPF 记录和/或 HELO,以验证服务器是否允许作为该域发送。与您的实际 PHP 脚本无关。

看看谷歌的文档:http: //support.google.com/mail/answer/1311182

检查您在“website.com”域上的 SPF 记录,并确保它们对于您发送的电子邮件服务器是正确的。您可能需要与托管公司或系统管理员联系,以获取您的托管设置所需的正确 SPF 记录。

于 2013-03-18T18:05:36.933 回答
1

你不能。您的服务器参与了 SMTP 通信,并且始终在原始邮件消息中显示为类似于以下的标头:

Received: from example.com (example.com. [100.100.100.100])
        by mx.google.com with ESMTP id t8si14713688dfb.115.2013.03.18.10.01.59;
        Mon, 18 Mar 2013 10:01:59 -0700 (PDT)

因此,像 GMail 这样的邮件客户端将显示您所看到的“通过”部分。

于 2013-03-18T18:00:48.817 回答