我的公司刚刚将电子邮件托管方式从通过网络托管公司改为自己托管。
我一直在使用 PHP 的邮件功能来处理我们网站上的表格,而且由于我们使用的网络托管公司不再托管我们的电子邮件,所以我不得不切换 PHP 邮件功能 smtp 服务器以指向我们公司托管的 smtp 服务器。
我已成功将使用 php 邮件功能发送的邮件指向新的 smtp 服务器,并且一切似乎正常。
我有点担心,因为 php 邮件功能不需要用户名或密码。
难道有人能指向我们的服务器并模拟我们的一个电子邮件地址吗?
答案1
有可能,但不一定。
您没有说明您网站上的 PHP 表单的具体工作原理,但我推测它们是用来让网站访问者向公司中的某个人发送消息的。据推测,表单会将消息打包成一封电子邮件,发送给公司域中的某个人,然后通过 SMTP 将其发送到您的邮件服务器。
您的邮件服务器接受来自任何地方的 SMTP 而不需要用户名/密码,这并没有什么坏处,前提是它只对发往您域名的邮件这样做。这就是您的邮件服务器处理传入邮件的方式。
但是,如果您的邮件服务器接受来自任何地方的 SMTP 而不需要用户名/密码,并且邮件被发送到不同的域,那么这将是危险的。这意味着您的邮件服务器充当中继,这可能会被垃圾邮件发送者和电子邮件伪造者利用。
答案2
我不建议允许开放 SMTP,即使对于发往您域名的电子邮件也是如此。逻辑是,经验丰富的黑客/前员工可能会将垃圾邮件/伪造邮件作为目标,攻击您的员工。通过公司 SMTP 转发由 CEO 发给“Everyone@company”的电子邮件会让人感到害怕。
为什么不对这些 PHP 表单使用 SMTP 身份验证?您可以在 SendMail 中配置身份验证参数,例如,或者将 SMTP 访问限制在该服务器的 IP 地址。