Date: Sun, 05 Sep 2010 09:33:31 -0700 From: Drew Tomlinson <drew@mykitchentable.net> To: Glen Barber <glen.j.barber@gmail.com> Cc: freebsd-questions@freebsd.org Subject: Re: Regex Help For Procmail Message-ID: <4C83C65B.6060508@mykitchentable.net> In-Reply-To: <4C8164C7.9000107@mykitchentable.net> References: <4C814262.5060504@mykitchentable.net> <4C814634.1000003@gmail.com> <4C8164C7.9000107@mykitchentable.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 9/3/2010 2:12 PM, Drew Tomlinson wrote: > Hi Glen, > > Thank you for your reply. > > On 9/3/2010 12:02 PM, Glen Barber wrote: >> Hi Drew, >> >> On 9/3/10 2:45 PM, Drew Tomlinson wrote: >>> I use procmail for mail delivery and I'm trying to concoct the right >>> regex to match From: headers and deliver to a folder. However mail is >>> sent from various addresses so I want to match all that end with >>> "famous-smoke.com>". Here's an example of a header: >>> >>> From: "Famous Smoke Shop"<Announce@email.famous-smoke.com> >>> >>> Because I also occasionally order, I don't want to catch mail from >>> anything that has the word "Orders" and "Famous" in the From field. >>> Thus here is my procmail recipe: >>> >>> # Deliver order info to inbox >>> :0 >>> *^From:.[Ff]amous.*[Oo]rder.*famous-smoke.com>$ >>> "${HOME}/Maildir/new/" >>> >> Is this supposed to be "match Famous OR Order"? This currently matches >> "Famous AND Order". > > No, I want "Famous AND Order". > >>> # Deliver other email to folder >>> :0 >>> *^From:.*famous-smoke.com>$ >>> "${HOME}/Maildir/.Shopping/Famous Smoke/Email/" >> Going by your examples, you want to catch "Famous OR Order" and place >> that in Maildir/new, and all other email from this address to go to >> Maildir/.Shopping/... >> >> Try this: >> >> # catch "famous" or "order" >> :0 >> * ^From:.*([Ff]amous|[Oo]rder).*famous-smoke.com>$ >> "$HOME/Maildir/new" >> >> # catch everything else from this sender >> :0 >> * ^From:.*famous-smoke.com>$ >> "$HOME/Maildir/.Shopping/Famous Smoke/Email/" >>> According to my procmail log, the From: header does not match. I would >>> expect the example From: header above to match the second regex and be >>> delivered to the specified folder. Where is my error? >> If my assumption above is incorrect, could you paste a snippet from your >> procmail log and point out what should be matching so we can have a >> specific example? > > This is the actual log entry from the example I used in this email: > > From Announce@email.famous-smoke.com Fri Sep 3 10:11:08 2010 > Subject: Another Must-Attend Event at Famous! > Folder: /home/<mydir>/Maildir/new/1283533874.95147_0.blacklamb. > 8161 > procmail: [95164] Fri Sep 3 10:13:05 2010 > procmail: Assigning "NL= > " > procmail: Assigning "LOG= > /home/<mydir>/Procmail/famous_smoke.rc" > > /home/<mydir>/Procmail/famous_smoke.rc > procmail: No match on "^From:.[Ff]amous.*[Oo]rder.*famous-smoke.com>$" > procmail: No match on "^From:.*famous-smoke.com>$" > procmail: Assigning "VERBOSE=OFF" > > > I think my problem is that I was missing a "space" between "*" and > "^From:". Your example shows a space and a reply from Brent Bloxam > suggests this is the problem as well. I don't quite understand the > difference between the two but have made the change and I'll see if it > works. I'm also going to hit Google and see if I can understand. No, still not matching. Basically, why doesn't this header: From: "Famous Smoke Shop" <Announce@email.famous-smoke.com> Match this procmail recipe: :0 * ^From:.*famous-smoke.com>$ "${HOME}/Maildir/.Shopping/Famous Smoke/Email/" From my procmail log: procmail: No match on "^From:.*famous-smoke.com>$" Thanks, Drew -- Like card tricks? Visit The Alchemist's Warehouse to learn card magic secrets for free! http://alchemistswarehouse.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C83C65B.6060508>