I received answers to my questions off-list, so I'll reply to myself and share them with the rest of everyone. :)
> describe CJB_ESHOP_GR Contains reference to e-shop.gr > header CJB_ESHOP_GR ALL =~ /e-shop\.gr/i > score CJB_ESHOP_GR 0.01 > > The efficiency and wisdom of matching against any headers aside, > is this correct so far? I'm just thinking simple, I just want to > match the e-shop.gr string. While not the best way to catch one of these emails, this will indeed do what I had intended - match the string 'e-shop.gr' in any of the email headers. > Assuming that's OK, I moved on to creating the rule. Now, I store > my user preferences in a PostgreSQL database, so this is where I'm > slightly unsure... Can I simply add my rule above to my userprefs > table, one line per row? Like so (pardon the line wrap): > Is this the correct way to do it? Or do I *have* to add them to > local.cf or another such local file? Nope, this isn't possible - rules cannot be stored in a database, nor will most installations allow user-defined rules. I went ahead and created my own .cf file in /etc/mail/spamassassin, and that works great. > I'm also unsure if I need to restart spamd to pick up on this new > rule, if indeed it can be stored in SQL - my other userprefs do not > need a restart, but rules I'm very unsure about. I tried cat'ing a > sample spam and piping it to spamc (cat sample.txt | spamc), but > it did not hit my test rule. And yes, e-shop.gr shows up in the > Received and From headers. :) Yes, a restart is necessary. Always do a 'spamassassin --lint' first, too. Thank you! Benny -- Whoever said that hell hath no fury like a women scorned never owned a cat. -- bash.org