【发布时间】:2024-04-28 14:25:05
【问题描述】:
我正在开发一个从 PIPE 获取电子邮件的系统,验证从电子邮件发送的电子邮件地址是否在客户端数据库中,并将其写入数据库。
问题是我不想有安全问题,如果有人用 PHP 向系统发送电子邮件,它也会记录下来。那么,如何检查电子邮件是否由正确的邮件服务器发送?我正在考虑获取域的邮件服务器的 IP,并在电子邮件标头中验证它是否是从这些服务器发送的。因此,如果我收到来自 test@hotmail.com 的电子邮件,它会 ping mail.hotmail.com 并检查电子邮件是否来自这些 IP 地址。
无论如何,如果有人有一个像 yourdomain.com 这样的自定义域,在共享的 cPanel 服务器中运行,这些服务器中的其他人可以使用 PHP 发送电子邮件并通过 IP 验证。因此,我正在考虑检查电子邮件是使用 PHP 发送还是从邮件服务器发送的,但我不知道该怎么做。
你有什么建议?
【问题讨论】:
-
Sender Policy Framework (SPF) 和 DomainKeys Identified Mail (DKIM) 浮现在脑海中。您还需要更多建议吗?
-
我去看看,让你知道。感谢您的帮助。
-
如果您的问题是针对两个 mail() 和邮件服务器之间的特定问题,请参阅下面的回答。最好使用 SPF 和 DKIM,并根据这些进行一些评级。您的邮件服务器也可能在这里做一些工作,为传入的消息添加标题,这样您就不需要重新发明*了。