Thanks Philip! It makes perfect sense.
:0 h | ( formail -r -i "From: $listreq" -A"X-Loop: $listaddr"; \ cat info/reject.attach $tmprequest \ ) | $SENDMAIL $SENDMAILFLAGS -t
Now I got an extended question: what is the best use of "cat" here? I got the " |formail .... | (cat; cat file) | $sendmail .... " recipe for this purpose a long time ago on this list and have been using that since then, although I thought the first pipe "|" and "cat" were redundent.
So a little while ago I put a question on "procmail" list asking why there are 2 "cat"s. In a reply, Volker Kuhlmann kuhlmav@elec.canterbury.ac.nz suggested to use:
... | /sbin/cat - info/accept.txt | ...
Now, among the 3 constructs:
1. | formail ....; cat file | $sendmail -t 2. | formail .... | (cat - file) | $sendmail -t 3. | formail .... | (cat; cat file) | $sendmail -t
Number "1" appear to be making the best sense. However number "2" and "3" must also had a reason to be that way (historically or associated with older versions of procmail or have something to do with the nature/version of "cat" or whatsoever).
Could someone put some lights on them?
Thanks!
Zhiliang