postfix – Block Email in Postfix Based on the ‘From:’ Header Address

postfixspam

I have Postfix configured to block email from a persistent spammer that has found a "bulletproof" spam service provider (known as Amazon SES), but of course the block fails because the MAIL FROM (aka "Return-Path") is a string such as 01000165f9022c82-37fa3cc3-d63c-4548-be3d-125d50e43aaf-000000@amazonses.com while the From header passed in the DATA command is ThePartyFixxCompany@gmail.com.

Is there a way to block the address/domain in the From header during the SMTP transaction, rather than filtering it to /dev/null with some after-the-fact process like Sieve, Amavis, Spamassassin, etc.?

This answer suggests it's not possible, but then goes on to emphasise a different point that is not relevant to my question, so it's not clear to me that it is absolutely not possible.

I don't think my postconf output is relevant to this question, as Postfix is running as it should be (I'm running 2.10.1.). I'm looking for a configuration tweak. Thanks.

Best Answer

Just to show that the suggestion feature when you enter a subject works, when I entered the subject for this question the first result was a link to Route mail in postfix to different relays based on subject. It's not what I was looking for, but it led me to look more closely at header_checks despite what is stated in the answer at the link in my question. A web search led me to How to filter mail with postfix header_checks, which was the answer I was looking for.

In my case this worked in /etc/postfix/header_checks:

/^From:.*partyfixx/ REJECT

I actually put a very rude message after "REJECT", but that's not appropriate to include here.

Here is the log entry for their most recent attempt:

Sep 25 01:41:54 mymailserver postfix/cleanup[19112]: F2A6428C3FD: reject: header From: The Party Fixx Company <ThePartyFixxCompany@gmail.com> from a9-98.smtp-out.amazonses.com[54.240.9.98]; from=<010001660e63cb43-c865ad08-e534-4fbd-acbe-ba6fed55ed25-000000@amazonses.com> to=<me@example.com> proto=ESMTP helo=<a9-98.smtp-out.amazonses.com>: 5.7.1 Rude message redacted!!!

The regex is case insensitive.

Other answers I found useful: