![]() |
Postfix Header Checks
Hi,
I've read that Postfix can perform certain actions on emails based on the contents of the email header (header checks). How do I make my Postfix act like that? For example, I want Postfix to delete all emails that have a spam score (from SpamAssassin) of 15 or more. The header of such emails contains a line like this: Code:
X-Spam-Level: ***************Dirk |
Here's a small introduction on Postfix header (and body) checks:
http://www.postfix.org/header_checks.5.html Basically you have to do something like this: Code:
postconf -e 'header_checks = regexp:/etc/postfix/header_checks'Code:
/^X-Spam-Level: \*{15,}.*/ DISCARDFinally, restart Postfix: Code:
/etc/init.d/postfix restart |
Thanks, Falko.
For the REDIRECT action, I need Postfix 2.1 or above? Dirk |
Yes, that's true, the REDIRECT action is new in Postfix 2.1.
|
I'm having problems with REDIRECT action in header_checks.
My postfix is version 2.3.8-2+etch1. In my main.cf I have: header_checks = regexp:/etc/postfix/header_checks And the "header_checks" file: /^To: .*@(?!mydomain\.com>)/ REDIRECT root@mydomain.com The problem is that the emails are not being redirected, only rejected. also if I put REJECT "message" instead of REDIRECT the message I put in the REJECT action doesn't appear in the log....so it seems this actions doesn't work well... Anyone can help me with this? Thanks in advance and excuse my english. |
Quote:
|
Hi Falko, thanks for the reply. This appears in my log:
Mar 12 17:22:51 mail postfix/smtpd[7132]: NOQUEUE: reject: RCPT from cm35140.red.mundo-r.com[213.60.35.140]: 554 5.7.1 <itbsoft@gmail.com>: Relay access denied; from=<printer@mydomain.com> to=<itbsoft@gmail.com> proto=ESMTP helo=<RNPABFF9A> |
Falko, I found the error. The regular expression is not working. The message was rejected due to authentication problems. Once I solved these problems the message is sended so the problem I have now is that my regular expression is not working.
In the log I see lots of messages like this: Mar 11 16:23:43 mail postfix/cleanup[21225]: warning: regexp map /etc/postfix/header_checks, line 2: Invalid preceding regular expression And the header_checks file is: /^From: .*printer@mydomain\.com>/ OK /^To: .*@(?!mydomain\.com>)/ REDIRECT root@mydomain.com Do you know what's wrong with this file, I'm trying that printer@mydomain.com can't send emails outside of mydomain. Thans again. |
Hmmmm, I'm also currently looking into that. Is there a way to REJECT all emails in which a given string occurs in any of the headers? This far I can only see examples that check specific headers.
Would this work: *some_string* REJECT? |
| All times are GMT +2. The time now is 06:30. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.