我有一个带有本地帐户的 Linux 服务器(它们由 PHP-FPM 进程使用),它们使用 Postfix 的 sendmail 二进制文件来发送电子邮件。
所有电子邮件都通过本地 Postfix 发送到中央邮件中心,该中心认为来自托管服务器的电子邮件在某种程度上是值得信赖的(它们比来自互联网的电子邮件更受信任)。
问题是任何本地用户都可以作为任何发件人发送电子邮件(-f
sendmail 二进制文件或返回路径的参数)。
我想限制每个用户允许的发件人 - 即定义哪个用户可以发送电子邮件作为哪个发件人/发件人域。当用户随后将作为错误发件人发送电子邮件时,应丢弃该电子邮件。
我没有找到将 UID 或本地用户名映射到发件人的任何解决方案。
我找到的唯一解决方案是使用 SMTP,为每个本地用户创建一个 Postfix 帐户和密码,然后使用类似reject_sender_login_mismatch
in 的指令smtpd_sender_restrictions
。这更难以配置和维护,并且没有利用用户已经通过系统身份验证这一事实的好处,我想避免这种情况。