On Mon, 9 Dec 2019 at 14:13, Simone Marchioni <s.marchi...@lynx2000.it>
wrote:

> I have a problem with Postfix. Recently we are receiving mail messages
> with malformed "From:" headers as these:
>
> From: "Name Surname <u...@good-domain.com>" <us...@bad-domain.com>
> From: "u...@good-domain.com" <us...@bad-domain.com>
>
> Ended up with a solution based on PCRE header checks, with these two
> regexp:
>
> /^From:.+(".+<(.*@+.*)>").*<((?!\2).*)>$/ REJECT
> /^From:.+("([^<>]*@+[^<>]*)").*<((?!\2).*)>$/ REJECT
>
> Modified /etc/postfix/header_checks with these and then made a:
>
> postmap /etc/postfix/header_checks
>
> and reloaded postfix.
>
> Seems to work ok and Postfix apparently handles the PCRE with no problem:
>
> postmap -q 'From: "Name Surname <u...@good-domain.com>"
> <us...@bad-domain.com>' pcre:/etc/postfix/header_checks
> REJECT
> postmap -q 'From: "u...@good-domain.com" <us...@bad-domain.com>'
> pcre:/etc/postfix/header_checks
> REJECT
>
> But in real usage the mails are not being blocked.
> Looking at the logs there are the following (repeated) errors:
>
> Nov 22 10:52:19 mx1 postfix/cleanup[32087]: warning: regexp map
> /etc/postfix/header_checks, line 497: Invalid preceding regular expression
> Nov 22 10:52:19 mx1 postfix/cleanup[32087]: warning: regexp map
> /etc/postfix/header_checks, line 498: Invalid preceding regular expression
>
> The content of the /etc/postfix/header_checks file is the following (the
> first 496 lines are comments):
>
> /^From:.+(".+<(.*@+.*)>").*<((?!\2).*)>$/ REJECT
> /^From:.+("([^<>]*@+[^<>]*)").*<((?!\2).*)>$/ REJECT
> /^Subject:/ WARN
>
> Additional info:
>
> - There are no receive_override_options: the file is used as the subject
> are correctly logged in logfile (last line of
> /etc/postfix/header_checks). And the errors too shows the file is
> handled by postfix.
> - Tested the two regexp with multiple online services and they seems
> correct: also the postmap -q tests shows they are working correctly.
> - Version and operating system: Postfix 2.10.1 and PCRE 8.32 on a CentOS
> 7.7
>
> Any idea why with postmap -q it shows REJECT but in real usage it
> doesn't work?
>

Check that in main.cf and/or master.cf you are specifying the file with
type pcre: (and not say type regexp:)

Reply via email to