更改用于在php中发送邮件的完整标头

时间:2012-11-17 18:15:24

标签: php sendmail email-headers

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

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

它完美无缺,但如果我们检查邮件的完整标题,它将显示该邮件已发送的网站服务器。我想知道是否有任何可能的方法,以便我们可以更改它的完整标题,并在邮件的完整标题中显示其他内容。

提前致谢

3 个答案:

答案 0 :(得分:0)

没有。您无法更改某些标题,因为这些标题是在邮件传递期间由邮件服务器添加的(因此,如果超出您的范围)。您可以将自己的标题添加到邮件中,但smtpd仍会添加它们。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

您的标题数据在其传输过程中至少会经过至少2个过滤层。