Postfix 反弹配置

Postfix 反弹配置

我拥有的是:

  1. Windows 服务器使用自己的应用程序生成电子邮件并将其发送到中继服务器 (2) - 运行正常

  2. 中继服务器,发送从(1)收到的电子邮件 - CentOS - 工作正常

我需要额外配置 CentOS postfix 以将退回邮件发送到 Windows 服务器(使用指定端口上的自己的应用程序处理它们)。我尝试在 /etc/postfix/transport 行中添加:

test.pl        bounced:[12.34.56.78]:29990

然后运行

postmap /etc/postfix/transport

但我不知道我应该做些什么才能让它发挥作用。

在邮件日志中我有:

Mar  6 12:00:22 ubuntu postfix/qmgr[1633]: 9CBB260899: from=<root@ubuntu>, size=197, nrcpt=1 (queue active)
Mar  6 12:00:22 ubuntu postfix/qmgr[1633]: warning: connect to transport private/bounced: No such file or directory
Mar  6 12:00:22 ubuntu postfix/error[1744]: 9CBB260899: to=<[email protected]>, relay=none, delay=1890, delays=1890/0/0/0.01, dsn=4.3.0, status=deferred (mail transport unavailable)

答案1

在传输中,您通常只有 4 个选项。本地、虚拟、中继或默认。如果您要创建另一个,则需要在 master.cf 文件中定义它的作用。这就是您收到文件未找到错误的原因。您已告诉它将其发送到反弹,但未创建反弹。

你应该看看让您朝着正确的方向前进。

答案2

我做了什么来让它发挥作用:

  1. 编写了一个python脚本,通过TCP将标准输入发送到反弹服务器(固定IP和端口)
  2. 在 postfix master.cf 文件中添加了一行,用于将退回的电子邮件发送到 python 脚本:

    bounced unix - n n - - pipe user=bounce argv=/etc/postfix/mailpipe.py
    
  3. 在 /etc/services 和相应的 postfix 服务文件中添加一行:

    bounced     23232/tcp           # bounce
    
  4. 为 Postfix 制作传输文件:

    domain.com          bounced:[12.34.56.78]:23232
    
  5. “编译”的postmap传输文件:

    postmap /etc/postfix/transport
    
  6. 使用户退出并将其添加到组 postfix

  7. 重启者:

    postfix reload
    

相关内容