Nicolas JEAN:
-- Start of PGP signed section.
> Em 24/02/2022 17:14, Wietse Venema escreveu:
> > Nicolas JEAN:
> >> Having "my.domain :" or "my.domain lmtp:unix:private/dovecot-lmtp"
> >> doesn't modify default behaviour (set by virtual_transport =
> >> lmtp:unix:private/dovecot-lmtp), and yields such a log line:
> >> to=<[email protected]>, relay=my.domain[private/dovecot-lmtp] ...
> >> dsn=2.0.0, status=sent
> > Note that you would get the exact same email delivery result with
> > a map that does not match your domain.
> >
> > How would you tell the difference between a map that returns ":"
> > for your domain and a map that does not match your domain?
> >
> > Not by looking at the mailog file.
>
> Understood, good point.
>
> >> But having "my.domain virtual:"; for instance, changes the log line to:
> >> to=<[email protected]>, relay=virtual ... dsn=2.0.0, status=sent
> >>
> >> So the incoming email's domain /is/ matched against local_transport_map
> >> and the transport described there is used.
> > This is a DIFFERENT map that matches your domain.
> >> transport_maps = hash:/etc/postfix/local_transport_map
> >> randmap:{smtp:[relay1.com]:587, smtp:[relay2.com]:587}
>
> Tested: adding above randmap also 'supersedes' a local_transport_map
> containing the domain-matching "my.domain virtual:"...
>
> I don't understand how "my.domain :" and "my.domain virtual:" can have
> different results, isn't it only the left part that matches incoming
> emails' addresses? How would having ':' or 'virtual:' on the right side
> change the matching?
I suspect that you have garbage in your maps, such as non-ASCII
whitespace. Examine with
LANG=C grep '[^[:print:]]' /etc/postfix/local_transport_map | od -cb
postmap -s hash:/etc/postfix/local_transport_map | \
LANG=C grep '[^[:print:]]' | od -cb
Have fun.
Wietse