在哪里可以找到 Postfix mailbox_command 的 API

在哪里可以找到 Postfix mailbox_command 的 API

我想创建一个自定义程序来处理来自 postfix 的传入邮件。我想将其挂接到 postfix 中,使其成为邮箱命令。手册指出,调用此命令时会设置许多环境变量,但是它没有说太多其他内容,也没有包括此命令的任何特殊要求。

我特别想知道:

  1. Postfix 如何(如果有的话)使用返回代码(预期的返回代码是什么以及它们有什么影响)。
  2. 邮件本身似乎通过将其传递到 stdin 中交给命令。这是一个管道还是一个临时文件,或者它没有定义?这造成的不同之处在于临时文件可以进行内存映射,而管道需要逐字节读取。
  3. 此命令是否可以推迟接受邮件(有效地告诉 postfix 稍后再试)——这可以通过 (1) 来回答。
  4. stdout / std 错误是否被记录或者以其他方式使用?

有人知道在哪里可以找到这些信息吗?

答案1

与往常一样,后缀文档完整地描述了其行为。

本地(8)

邮箱投递可委托给使用 mailbox_command_maps 和 mailbox_command 配置参数指定的外部命令。该命令以收件人用户的权限执行(例外:未启用次要组;以 root 身份投递时,该命令以 default_privs 的权限执行)。

如果设置了 mailbox_command,local(8) 的行为将与下一节“外部命令传递”中的行为相同。

显然,mailbox_command 是一个外部命令。

顺便说一句,您链接到的手册页包含引用 procmail(1) 的示例。这应该会提供关于如何将邮件传递给命令的重要提示。

相关内容