On Mon, May 18, 2026 at 10:21:32AM +0000, Pedro David Marco via Postfix-users 
wrote:
> Hi,
> I am trying to understand the exact execution order between 
> header_checks/cleanup and smtpd_milters.
> I have a custom milter that repairs invalid From: headers 
> Example flow from logs:
> 1.- cleanup logs a header_checks warning on the original header From: 
> <[email protected]>
> 2.- Then my milter replaces it with: From: <[email protected]>
> 3.- milter works ok, since postcat shows the corrected header in the queued 
> message.
> What confuses me is that according to my reading of MILTER_README, smtpd 
> milters run before queuing, so I expected cleanup/header_checks to see the 
> modified header rather than the original one. However, the log shows that 
> cleanup sees [email protected] and not [email protected].
> Am I misunderstanding how cleanup interacts with SMTP milters internally?

You failed to notice "milter_header_checks" in header_checks(5):

    https://www.postfix.org/header_checks.5.html

header and body checks run first, then milters, and then
milter_header_checks.  This could/should be documented more prominently,
perhaps in one or more of:

    https://www.postfix.org/CONTENT_INSPECTION_README.html
    https://www.postfix.org/BUILTIN_FILTER_README.html
    https://www.postfix.org/MILTER_README.html

-- 
    Viktor.  🇺🇦 Слава Україні!
_______________________________________________
Postfix-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to