我正在尝试通过 Postfix 将电子邮件通过管道传输到我拥有的 Python 脚本。目前,具有多个收件人的消息会针对每个收件人通过管道传送到脚本一次。无论收件人数量如何,我都希望将这些消息通过管道传送到脚本一次。
在 /etc/postfix/main.cf 我有:
default_transport = customsmtp
Run Code Online (Sandbox Code Playgroud)
该传输方法在 /etc/postfix/master.cf 中定义为:
customsmtp unix - n n - - pipe
flags=FR user=cody argv=/var/relay/custom-relay/endpoint.py type:relay env:production sender:${sender} recipient:${recipient}
Run Code Online (Sandbox Code Playgroud)
以下是 Postfix 邮件日志的摘录,显示了对脚本的多次交付:
Mar 19 20:26:29 ip-172-31-2-6 postfix/cleanup[18639]: 2ACDD24199: message-id=<000a01d06282$fd7c59c0$f8750d40$@bananatag.com>
Mar 19 20:26:29 ip-172-31-2-6 postfix/qmgr[29229]: 2ACDD24199: from=<cody@email.com>, size=2715, nrcpt=2 (queue active)
Mar 19 20:26:30 ip-172-31-2-6 postfix/pipe[18640]: 2ACDD24199: to=<cody@example.com>, relay=customsmtp, delay=0.89, delays=0.2/0.01/0/0.67, dsn=2.0.0, status=sent (delivered via customsmtp service)
Mar 19 20:26:30 ip-172-31-2-6 postfix/pipe[18641]: 2ACDD24199: to=<cody@testing.com>, relay=customsmtp, delay=0.9, delays=0.2/0.04/0/0.66, dsn=2.0.0, status=sent (delivered via …Run Code Online (Sandbox Code Playgroud)