Hello,
using two postfix instances, the first (call it inbound.test) receiving
inbound mail for postcreen jobs and relay to the second instance with
XFORWARD informations.
The second instance is running some smtpd-milters to filtering inbound
mails.
tcpdump on second instance shows that XFORWARD is properly working:
tcpdump port 25 | grep XFORWARD
XFORWARD NAME=inbound.test ADDR=1.2.3.4 PORT=38604
XFORWARD PROTO=ESMTP HELO=sender-server.test IDENT=4KlFS63Mjjz30Ph SOURCE=REMOTE
I'm trying to forward HELO informations from XFORWARD to the milters so
that milters use the inital ehlo.
But milters are using HELO of the second instance, not the one "xforwaded".
maillog on the second instance :
Apr 22 13:06:56 second_instance postfix/cleanup[26543]: 4KlF6m1hmCz3559: xxx
from=<sen...@domain.test>
to=<test.replace...@testingdomain.test>
proto=ESMTP helo=<*sender-server.test*>:
12137200998064731638
Apr 22 15:06:56 second_instance milter1: [0000026C] 4KlF6m1hmCz3559: state=0,
status=OK, score=0,
From=sen...@domain.test; Ip=1.2.3.4;
Param=mode=smtp,helo=*inbound.test*
Is it because helo hostname not in the default milter_helo_macros ?
Or because smtpd-milters receive mail before the cleanup step?
Configuration of smtpd-milters in master.cf (second_instance)
smtp inet n - - - 200 smtpd
-o smtpd_milters=inet:127.0.0.1:3334,inet:127.0.0.1:10024,inet:127.0.0.1:11344
And:
$ postconf -n | grep milter
milter_command_timeout = 60s
milter_connect_timeout = 60s
milter_header_checks = regexp:/etc/postfix/dynamic/milter_header_checks
non_smtpd_milters =
I'm also digging on the milters side but I don't find anything for now.
Thank you in advance.
Ismaël Tanguy