【问题标题】:How to debug/log from a postfix filter?如何从后缀过滤器调试/记录?
【发布时间】:2021-12-22 15:33:21
【问题描述】:

我有一个相对简单的 shell 脚本,我已将它作为过滤器插入到 postfix 中。正如日志文件所说,Postfix 认为它工作正常:

postfix/pipe[2026]: 3E2278004C: to=<me@example.com>, relay=dfilt, delay=0.12, delays=0.08/0.01/0/0.03, dsn=2.0.0, status=sent (delivered via dfilt service)

事实上,我收到了电子邮件。但是,过滤器 ... 似乎并没有真正做我想做的事。最终,这可能是一个sh/bash 问题,但是,我如何从过滤器的某个我可以看到的地方获得输出?

例如,如果过滤器启动

#!/bin/sh
INSPECT_DIR=/var/spool/filter
SENDMAIL=/usr/sbin/sendmail

DISCLAIMER_ADDRESSES=/etc/postfix/disclaimer_addresses

# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69

# Clean up when done or when aborting.
# trap "rm -f in.$$" 0 1 2 3 15

# Start processing.
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit
$EX_TEMPFAIL; }

cat >in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }

# obtain From address
from_address=`grep -m 1 "From:" in.$$ | cut -d "<" -f 2 | cut -d ">" -f 1`
...

我怎样才能记录任何放入from_address的内容?

【问题讨论】:

    标签: postfix-mta


    【解决方案1】:

    好的。事实证明这很容易。 Postfix 实际上会记录命令的输出,因此您可以在过滤器脚本中只使用echo 或任何您喜欢的调试输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-19
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 2017-08-18
      • 2011-11-01
      • 2021-06-23
      • 1970-01-01
      相关资源
      最近更新 更多