[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp:01855] フィルタ設定



阿部と申します。お世話になります。

[postfix-jp:120] などの議論や
http://www.kobitosan.net/postfix/doc/FILTER_README.jp
などを参考に,受信フィルタについてテストしてみました。

フィルタのShellスクリプト単体のテストはOKなのですが,maillogには
status=bounced(Too many hops)となってメールが配信されません。
Shellスクリプトのtrap行をコメントアウトしてテスト(メール受信)す
ると,spoolにはin.**のファイルが49個生成されています。

素人考えでは,Shellスクリプトでsendmailを呼んでいるので,再帰的な
処理が行われていると思うのですが,何か勘違いしているのでしょうか?
解決策をご教示願います。
なお,aliasesや.forwardなどにも副作用がない解決策を希望します。

設定内容などは以下の通りです(長文をお許し下さい)。

main.cf :
content_filter = filter:

master.cf :
filter    unix  -       n       n       -       10       pipe
  flags=Rq user=filter argv=/users/hide/junk/filter.sh ${sender} ${recipient}

# cat /users/hide/junk/filter.sh
#!/bin/sh
INSPECT_DIR=/var/spool/filter
SENDMAIL="/usr/sbin/sendmail -i"

# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit $EX_TEMPFAIL;}
#trap "rm -f in.$$; exit" 0 1 2 3 15
cat >in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }
$SENDMAIL "$@" <in.$$
exit $?

# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = filter:
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
inet_interfaces = all
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
mydestination = $myhostname, localhost.$mydomain
mydomain = hoge.jp
myhostname = host0.hoge.jp
mynetworks = 127.0.0.0/8 hash:/etc/mail/dracd
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop

#ls -l /var/spool/filter
-rw-------    1 filter      postdrop      313  7月 25 11:04 in.12278
-rw-------    1 filter      postdrop      419  7月 25 11:04 in.12284
                ・
                ・
-rw-------    1 filter      postdrop     5341  7月 25 11:04 in.12514
-rw-------    1 filter      postdrop     5448  7月 25 11:04 in.12519

# tail -200  /var/log/maillog
Jul 25 11:04:08 host postfix/pickup[12264]: 9F96AC3A31: uid=88 from=<filter>
Jul 25 11:04:08 host postfix/cleanup[12275]: 9F96AC3A31: message-id=
<20020725020407.D8254C3A2D@xxxxxxxxxxxxx>
Jul 25 11:04:08 host postfix/qmgr[12265]: 9F96AC3A31: from=<filter@xxxxxxxxxxxxx>, 
size=2359, nrcpt=3 (queue active)
Jul 25 11:04:08 host postfix/pipe[12277]: 976EDC3A2D: to=<filter@xxxxxxxxxxxxx>, 
relay=filter, delay=0, status=sent (host0.hoge.jp)
Jul 25 11:04:08 host postfix/pipe[12277]: 976EDC3A2D: to=<hide@xxxxxxxxxxxxx>, 
relay=filter, delay=0, status=sent (host0.hoge.jp)
Jul 25 11:04:08 host postfix/pipe[12277]: 976EDC3A2D: to=<root@xxxxxxxxxxxxx>, 
relay=filter, delay=0, status=sent (host0.hoge.jp)
Jul 25 11:04:08 host postfix/pickup[12264]: A7C23C3A2D: uid=88 from=<filter>
                ・
                ・
Jul 25 11:04:09 host postfix/cleanup[12275]: DCDEDC3A31: message-id=
<20020725020407.D8254C3A2D@xxxxxxxxxxxxx>
Jul 25 11:04:09 host postfix/pipe[12277]: D4790C3A2D: to=<filter@xxxxxxxxxxxxx>, 
relay=filter, delay=0, status=sent (host0.hoge.jp)
Jul 25 11:04:09 host postfix/pipe[12277]: D4790C3A2D: to=<hide@xxxxxxxxxxxxx>, 
relay=filter, delay=0, status=sent (host0.hoge.jp)
Jul 25 11:04:09 host postfix/pipe[12277]: D4790C3A2D: to=<root@xxxxxxxxxxxxx>, 
relay=filter, delay=0, status=sent (host0.hoge.jp)
Jul 25 11:04:09 host postfix/cleanup[12275]: DCDEDC3A31: to=<filter@xxxxxxxxxxxxx>, 
relay=cleanup, delay=0, status=bounced (Too many hops)

よろしくお願いいたします。

----
Hideshi Abe  

Follow-Ups
[postfix-jp:01856] Re: フィルタ設定, ARAKI Yasuhiro

[検索ページ] [Postfix-JP ML Home]