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