Postfix 将除一个地址(别名)之外的所有邮件发送到 /dev/null

Zac*_*air 3 email postfix-mta

我的 postfix 服务器通过中继在特定域名上工作,所以它是这样的:客户端发送到abs@subdomain.domain.com->domain.com生产邮件服务器->子域上的内部邮件服务器。

正在转发 subdomain.domain.com 的所有邮件。但问题是,我支持的应用程序使用邮件系统来处理一些内部内容,并且当客户端发送电子邮件时被抄送的许多地址并不存在于子域邮件服务器上,它们有另一个目的。当子域上的应用程序收到电子邮件时,它会解析标头并在其算法中使用所有抄送地址。

问题来了。当客户发送电子邮件时,他将收到与抄送中的虚假地址一样多的错误响应。/etc/aliases 中只列出了一个真实地址,它只是将传入邮件通过管道传输到某些脚本的标准输入。

问题。如何防止向客户端发送错误响应并仅 /dev/null 所有假地址?我只需要 1 个地址,该地址已在别名中列出。

提前致谢。

Zac*_*air 5

好吧,我明白了。

这可以通过 virtual_alias_maps 来实现。添加域和地址的虚拟别名。将域重定向到 /dev/null 并将地址重定向到本地别名。

virtual_alias_maps 文件:

target_addr@subdomain      target@localhost
@subdomain      devnull@localhost
Run Code Online (Sandbox Code Playgroud)

/etc/别名:

target:  "| /path/to/script"
devnull:  /dev/null
Run Code Online (Sandbox Code Playgroud)