我将以下行添加到postfix master.cf
filter unix - n n - 10 pipe flags=Rq user=filter null_sender= argv=/tmp/filter.sh -f ${sender} -- ${recipient}
我的测试脚本filter.sh代码如下所示:
#!/bin/sh
SENDMAIL="/usr/sbin/sendmail -G -i" # NEVER NEVER NEVER use "-t" here.
export HOME=/home/filter
SENDER="$2" #sender
shift
shift
shift
EMPFAENGER="$@" #empfaenger
#echo "SENDER=$SENDER" >> /tmp/logging.log
#echo "EMPFAE=$EMPFAENGER" >> /tmp/logging.log
touch itworked
cat | $SENDMAIL -f $SENDER -- $EMPFAENGER
当我发送电子邮件时,它将被发送,但我没有通过脚本管道。
有人知道我配置错了吗?
PS:
问候 克里斯
答案 0 :(得分:1)
你错过了一步。在配置文件master.cf
中,第一个服务是:
smtp inet n - - - - smtpd
您必须告诉postfix
您要使用filter
,所以:
smtp inet n - - - - smtpd -o content_filter=filter
编辑此文件后,请不要忘记执行postfix reload
。