使用php发送邮件时,如何摆脱服务器名称

时间:2013-03-18 17:54:48

标签: php email

每当我使用php发送邮件时,接收者都会收到这样的信息“来自:网站plc info@website.com经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);

3 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分: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将显示您正在看到的“通过”部分。

答案 2 :(得分:1)

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

请查看Google的文档:http://support.google.com/mail/answer/1311182

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