On Thu, Aug 11, 2011 at 10:02:21AM +1000, Troy Piggins wrote: > On Wed, Aug 10, 2011 at 09:47:37AM +0200, Jeroen Geilman wrote: <snip /> >> It is not a variable expansion. Use this instead: >> >> /(user1)@mydomain.com/ $1_s...@mydomain.com >> >> Read http://www.postfix.org/pcre_table.5.html, section Text Substitution for >> details. >> >> Note that this offers zero advantage over an exact match. > > Thankyou! That works. I now have this and it seems to be working fine: > > if !/^(excludeduser1|root|.+_sent)@mydomain\.com$/ > /^(.+)@mydomain\.com$/ ${1}_s...@mydomain.com > endif
Perhaps I spoke too soon. This is creating duplicates. Any pointers on why? I could see a loop problem if the "if/endif" condition wasn't there, but shouldn't that prevent "_sent" messages going through again? For completeness, the procmail rule I use is: :0: * ^X-Original-To:.*_sent@mydomain\.com | gzip -fc9 >> ${HOME}/Sent_${DATE}.gz The duplicates do not show up in the sender's normal Sent folder, but do show up in the gzipped archive. Using my "old" method of manually adding/deleting each user as they join/leave the company, and using a hash table instead of pcre, this worked and didn't create duplicates: us...@mydomain.com user1_s...@mydomain.com us...@mydomain.com user2_s...@mydomain.com us...@mydomain.com user3_s...@mydomain.com and so on... I can't see my error, please help.