0

我使用此代码在 php 中发送邮件:

mail($to,$subject,$message,$headers);

它工作得很好,但是如果我们检查邮件的完整标题,它将显示与该邮件一起发送的站点的服务器。我想知道是否有任何可能的方法,以便我们可以更改其完整标题并在邮件的完整标题中显示其他内容。

提前致谢

4

3 回答 3

0

不可以。您不能更改某些标头,因为这些标头是在邮件传递过程中由邮件服务器添加的(因此,如果您无法访问)。您可以在邮件中添加自己的标头,但 smtpd 仍会添加他们的标头。

PS:不要使用mail()。使用更复杂的东西,如 PHPMailer 或类似的包。

于 2012-11-17T18:19:03.457 回答
0

所有邮件服务器都会在邮件中添加一个Received标题行。您可以将自己的服务器配置为不添加此类标头,甚至删除其他此类标头,但您无法控制其他邮件服务器的行为。这意味着您环境之外的第一台服务器将添加您最后一台服务器的 IP 和主机名,您对此无能为力。

于 2012-11-17T18:20:12.307 回答
0

当您通过任何服务/API 发送邮件时,您可以发送您想要的任何标题,但它取决于客户端(gmail、exchange 等)以显示要显示的数据类型。此外,SMTP 服务器会修改或覆盖它认为必要的标头数据。

您的标头数据在其传输过程中基本上经过至少 2 个过滤层。

于 2012-11-17T18:20:26.810 回答