On Mon, Oct 21, 2024 at 03:55:54PM +0800, Joan Moreau via Postfix-users wrote:
> > This should be either the instance independent:
> >
> > relay/unix/syslog_name =
> > ${multi_instance_name?{$multi_instance_name}:{postfix}}/$service_name
> >
> How to do that ?
By not NOT setting:
relay unix ... smtp
-o syslog_name = postix/$service_name
and instead setting:
relay unix ... smtp
-o { syslog_name =
${multi_instance_name?{$multi_instance_name}:{postfix}}/$service_name }
> > That's not "evidence". Where's the logging showing messages ending up
> > in a different instance than the one that received them?
>
> How can I log anything ? The email arrive in one of the multi and
> endup in teh " default" queue. There is nothing in between
You don't log anything, your Postfix processes do the logging. You just
need to report relevant entries from your mail logs. Until you find and
post the relevant mail logs, you have no evidence.
> # /opt/postfix/postmulti -x -- sh -c '
> printf "\n%s:\n" "$MAIL_CONFIG"
> /opt/postfix/postconf -f config_directory inet_interfaces
> multi_instance_name smtpd_proxy_filter queue_directory
> printf -- "--\n"
> /opt/postfix/postconf -Mf "*/inet" "*/pass"
> printf -- "--\n"
> /opt/postfix/postconf -P "*/*/syslog_name"
> '
Seems your "/bin/sh" does not have a "printf" built-in, perhaps next
time try "bash -c" instead. For now this will do.
> config_directory = /etc/mail/postfix
> inet_interfaces =
> [2a01:4f9:2a:85a::2],95.216.8.62,127.0.0.2,95.217.140.1,[2a01:4f9:2a:85a::11]
> multi_instance_name =
> smtpd_proxy_filter =
> queue_directory = /var/spool/postfix/0
> 26 inet n - n - - smtpd
> -o
> syslog_name=${multi_instance_name?{$multi_instance_name}:{postfix}}/$service_name
> 26/inet/syslog_name =
> ${multi_instance_name?{$multi_instance_name}:{postfix}}/$service_name
> cleanup/unix/syslog_name =
> ${multi_instance_name?{$multi_instance_name}:{postfix}}/$service_name
> relay/unix/syslog_name =
> ${multi_instance_name?{$multi_instance_name}:{postfix}}/$service_name
You appear to be receiving mail on port 26.
Seems you figured out the syslog_name syntax. But you likely don't need
the override for at least "cleanup", and could probably do better than
"$service_name" on port 26.
> config_directory = /etc/mail/postfix-smtp1
> inet_interfaces = [2a01:4f9:2a:85a::11] 95.217.140.1
> multi_instance_name = postfix-smtp1
> smtpd_proxy_filter =
> queue_directory = /var/spool/postfix/1
> 26 inet n - n - - smtpd
> -o
> syslog_name=${multi_instance_name?{$multi_instance_name}:{postfix}}/$service_name
> [...]
The basic instance settings look OK, tehy each have a different set of
IP addresses (inet_interfaces), and no proxy_filter to reroute mail
to the wrong place. Any "content_filter" settings in effect?
> > $ postmulti -i - postqueue -p
> > $ postmulti -i postfix-smtp1 postqueue -p
> > $ postmulti -i postfix-smtp2 postqueue -p
>
> these commands reach an error:
Yes, I left out the "-x".
$ postmulti -i - -x postqueue -p
$ postmulti -i postfix-smtp1 -x postqueue -p
$ postmulti -i postfix-smtp2 -x postqueue -p
> I would expect, if I am not worng, that queued messages are getting in
> /var/spool/postfix/x according to the instance handling the emaili,
> isn't it?
You still have not posted any logs. This is a waste of time.
--
Viktor.
_______________________________________________
Postfix-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]