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=<contact@my.domain>, 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=<contact@my.domain>, 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