为 SASL 认证用户启用 postfix DSN?

为 SASL 认证用户启用 postfix DSN?

似乎我可以为所有用户或仅本地网络上的用户打开传递状态通知。有没有办法只为我们的员工打开 DSN,无论他们身在何处?即如果员工发送邮件(使用 SASL 身份验证),他们会收到退回/延期/成功通知,但向我们的系统发送邮件的其他人却不会收到?

手册页上写道:

smtpd_discard_ehlo_keyword_address_maps如果您希望允许来自受信任客户端的 DSN 请求,但不允许随机陌生人的 DSN 请求,请使用此功能

并给出例子:

/etc/postfix/main.cf:
    smtpd_discard_ehlo_keyword_address_maps = 
        cidr:/etc/postfix/esmtp_access

/etc/postfix/esmtp_access:
    # Allow DSN requests from local subnet only
    192.168.0.0/28      silent-discard
    0.0.0.0/0           silent-discard, dsn
    ::/0                silent-discard, dsn

但我不想基于子网,我想为 A. 使用 SASL 进行身份验证的用户 - 或 - B. 系统上有 @ourdomain.com 邮箱的用户(我们的员工)启用 DSN

有没有办法做到这一点?

Ubuntu 10.04/Postfix 2.7.0

答案1

不幸的是,我认为(目前)还不可能实现。

答案2

Postfix 尚不支持在 AUTH 命令后通告 DSN 扩展。不过有一个解决方法;在我的设置中,Postfix 监听端口 25(标准 SMTP)和 587(提交 SMTP)。SMTP 服务器 (MTA) 使用端口 25,可以通过在其守护进程中master.cf添加以下内容来禁用该端口的 DSN smtpd_discard_ehlo_keywords

smtp       inet  n       -       n       -       -       smtpd
    -o smtpd_discard_ehlo_keywords=silent-discard,dsn
submission inet  n       -       n       -       -       smtpd
    -o smtpd_sasl_auth_enable=yes

请注意,从安全角度来看,该解决方案是有缺陷的 - DSN 仍然广泛可用 - 除非采取其他安全措施限制对端口 587 上的守护进程的访问。

来源:https://marc.info/?l=postfix-users&m=146903470927680&w=2

相关内容