Regex Help For Procmail
Drew Tomlinson
drew at mykitchentable.net
Fri Sep 3 21:12:51 UTC 2010
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 at 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 at 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.
Thanks again for your help!
Cheers,
Drew
--
Like card tricks?
Visit The Alchemist's Warehouse to
learn card magic secrets for free!
http://alchemistswarehouse.com
More information about the freebsd-questions
mailing list