是否有可能以某种方式保护 Postfix,即检查收到的电子邮件是否确实来自发件人?
是否可以编写 php 脚本并选择发件人,就像邮件确实来自发件人一样,而 Postfix 有哪些可能性可以发现该邮件实际上不是来自真正的发件人?
我发现并激活了以下选项
smtpd_sender_restrictions = reject_unknown_sender_domain
unknown_address_reject_code = 554
smtpd_client_restrictions = reject_unknown_client
unknown_client_reject_code = 554
请指出我是否遗漏了任何要点!
答案1
请记住,SMTP 邮件的设计与普通邮件非常相似。您写一封邮件,将其放入信封,在信封上写上收件人地址),在信封上写上发件人姓名,将其交给邮递员,然后邮件就会寄出(抱歉,这里没有邮票)。即使您写错了发件人(有意或无意),邮件也会到达收件人手中。信封里的东西可能无法揭示真正的发件人。
SPF 有助于识别发件人域,但不能 100% 保证。SPF 的目标主要是垃圾邮件,而不是修复此 SMTP 功能。SPF 背后的想法是,域将说明哪些 SMTP 服务器有效,收件人将有办法(DNS 记录)检查该信息。另一方面,DKIM 通过实际对信封/标头进行数字签名来保证源域(而不是用户)。数字签名/证书是您为此需要付出的高昂代价。您可以在Postfix 站点
当然,除非您使用加密通信(如中间人拦截),否则上述情况中还有无数其他可能出错的事情。