linux – 如何在Postfix中强制发件人地址为“logged-in-user@example.org”?

我已经设置了一个带有SMTP AUTH的Postfix服务器(端口587上的STARTTLS).我的所有用户都在“example.org”域中.我想强制发件人地址为“logged-in-user@example.org”.

我了解到这可以通过main.cf选项实现

smtpd_sender_restrictions = reject_sender_login_mismatch,...
smtpd_sender_login_maps = hash:/etc/postfix/smtpd_sender_login_maps

使用login_maps文件,如:

a@example.org a
b@example.org b
c@example.org c
...

(另请参阅Block sender address spoofing with SMPT AUTH),但这意味着每次有新用户时我都必须编辑login_maps文件.我不需要这样灵活的映射:它应该始终是“logged-in-user@example.org”.有更简单的选择吗?

解决方法

首先,通过输入命令postconf -m并在其中查找带有pcre的行来检查Postfix的安装是否支持pcre.一旦确认您有pcre支持,您可以执行以下操作:

/etc/postfix/login_maps.pcre:

/^(.*)@example\.org$/   ${1}

在main.cf中:

smtpd_sender_login_maps = pcre:/etc/postfix/login_maps.pcre

这应该工作正常.

相关文章

查找全部容器的日志文件 $ sudo find /var/lib/docker/conta...
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型