9 postfix
让 Postfix 静默将电子邮件发送到特定无效域的最佳方法是什么?
由于目前无法以其他方式处理的原因,我们的邮件服务器收到了大量 $userid@BLAH 形式的地址的电子邮件,其中 @BLAH 始终是该值,而 $userid 是由发件人以编程方式生成的。允许发件人邮件服务器通过我们的邮件服务器进行中继,但由于 BLAH 不是有效域,因此邮件会因“找不到主机或域名。name=BLAH type=MX 的名称服务错误:找不到主机,请尝试再次”。显然 header_checks 不起作用,因为在主机名查找后处理得很好。
我想防止它们进入队列,即使它们在几次重试后最终会老化,而只是默默地丢弃它们。(最终我们会解决源问题,但这可能不会很快。)
更新
我调整了 Michael 的建议,因为尽管有别名,虚拟邮箱配置还是传送到邮箱而不是 /dev/null。但是,我已经在虚拟别名另一个域,所以我只是将 BLAH“域”virtual_alias_domains
添加@BLAH BLAH
到并添加到/etc/postfix/virtual
,后映射,以及与新/etc/aliases
条目一起,它就像一个魅力。
更新 2
我突然想到,通过将 BLAH 添加到virtual_alias_domains
, header_check 规则现在应该可以工作,避免了对 alias 中virtual
别名的需要aliases
,并且测试确实证明了这一点。这有一个额外的好处,即电子邮件现在被记录为丢弃物,因此被我们的 SMTP 服务器指标图的 Collectd 尾部插件配置中的现有模式拾取。
Mic*_*ton 11
首先,您需要接受不存在域的邮件,例如将其添加到virtual_mailbox_domains
.
然后,您需要创建一个在virtual_mailbox_maps
本地交付的通用地址,例如:
@example.com throwaway
Run Code Online (Sandbox Code Playgroud)
最后,您需要为throwaway
in创建一个本地别名,/etc/aliases
以便将邮件发送到/dev/null
,例如:
throwaway /dev/null
Run Code Online (Sandbox Code Playgroud)
Postmap 并根据需要重新加载 postfix。
要静默删除外发电子邮件,您还可以使用传输映射文件
transport_maps = hash:/etc/postfix/transport_maps
Run Code Online (Sandbox Code Playgroud)
包含如下条目:
email-to-bin@example.com discard:
@domain-to-bin.com discard:
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4583 次 |
最近记录: |