Postfix 将从 orig_to 退回源地址为本地的投递

Postfix 将从 orig_to 退回源地址为本地的投递

我正在创建一个python脚本来使用各种方式传递本地邮件。问题是这样的:

  • 该脚本必须接受 /etc/postfix/virtual 中定义的多个虚拟域
  • 脚本会检查收件人是否有效以及内容是否符合预期,如果不符合,则退出并显示相应代码(4.xx 5.xx)

问题是我希望退回邮件来自收件人地址(orig_to)或 bounce@recipientdomain,这可能吗?


设置:

在/etc/postfix/虚拟:

@domain1     pymail
@domain2     pymail
@domain3     pymail
@domain4     pymail
@domain5     pymail

/etc/postfix/master:(包含)

pymail    unix  -       n       n       -       -       pipe
  flags=FR user=pymail argv=/path/to/script.py ${sender} ${recipient}

在/etc/postfix/传输:

* pymail:

/etc/postfix/main.cf:

pymail_destination_recipient_limit = 1
transport_maps = hash:/etc/postfix/transport
virtual_alias_domains = domain1 domain2 domain3 domain4 domain5
virtual_alias_maps = hash:/etc/postfix/virtual

答案1

问题是,当 postfix 将您的邮件发送给 python 时,它已经被接受了。

请勿接受您不打算发送的邮件;反向散射退回是最糟糕的垃圾邮件之一。

相反,在后缀,而不是 python,让 postfix 拒绝不需要的或无法送达的邮件。

您还需要使用 pipe(8) 的参数和各种目标并发选项,以使其顺利运行。

答案2

我找不到办法做到这一点,所以最后我只是写入 python 脚本以从正确的地址向发件人发送错误邮件。

相关内容