如何在php中发送邮件时删除显示系统信息的标题

时间:2014-03-15 19:44:32

标签: php linux security email ubuntu

我正在使用PHP的mail()函数。我注意到在浏览消息(已发送)时,某些标题存在的属性指定了

  • 发送电子邮件的文件名
  • 我正在运行哪个版本的php
  • 我的操作系统信息

我删除了域名,但这基本上就是包含的内容。我怎么能阻止这被包括在内,还是我只是安全偏执?此外,我想继续使用phps邮件功能,而不是设置其他东西。感谢。

X-PHP-Originating-Script: 1000:emailtest.php
From: hidden@hidden.hh
Reply-To: hidden@hidden.hh
X-Mailer: PHP/5.3.10-1ubuntu3.10
Message-Id: <20140315193810.ADD43120489@hidden.hh>

3 个答案:

答案 0 :(得分:14)

感谢@Wrikken指出我正确的方向

This article突出显示了php.ini中可以更改的两个属性:

mail.add_x_header = Off
expose_php = Off

我不知道为什么他们默认开启..

答案 1 :(得分:0)

对于发送的所有电子邮件的最终遮挡,您可以控制电子邮件服务器上的postfix标头。这也可以让你隐藏你的主机名。梅因写了一篇很好的文章,应该让你指出正确的方向。它有点先进,但我认为这是要走的路:

https://major.io/2013/04/14/remove-sensitive-information-from-email-headers-with-postfix/

答案 2 :(得分:0)

除此answer中所述的设置外 该issue on GitHub建议删除这样的X-Mailer标头

$mail = new PHPMailer(true);
$mail->XMailer = ' ';