On Wed, Nov 21, 2018 at 5:42 PM Viktor Dukhovni <postfix-us...@dukhovni.org> wrote:
> > On Nov 21, 2018, at 6:25 PM, Scott Kitterman <post...@kitterman.com> > wrote: > > > >>> Where is the ".localdomain" coming from? > >> > >> It might be read from a file, or it might be set at compile time? The > >> person packaging Postfix for Debian should know. In any case, the Wiki > >> article https://wiki.debian.org/Postfix states that you should set the > >> 'myhostname' and 'mydomain' parameters explicitly. > > > > This is Debian specific: > > > > +# Debian GNU/Linux specific: Specifying a file name will cause the > > +# first line of that file to be used as the name. The Debian default > > +# is /etc/mailname. > > +# +#myorigin = /etc/mailname > > > > It's been that way for at least 18 years (well before I was involved in > maintaining Postfix in Debian). > > That said, absent any domain part in the system hostname and with > no explicit setting of mydomain in main.cf, the default, compiled-in > value of mydomain is "localdomain". This is typically not what > "postconf -d" reports, since the latter reports the default name > derived from the system hostname. But it can be teased out with > an unqualified "myhostname" override: > > $ mkdir temp > $ echo "myhostname = foo" > temp/main.cf > $ touch temp/master.cf > $ postconf -c $PWD/temp mydomain > mydomain = localdomain > > Thanks for explaining it Viktor! It feels unnecessarily nonintuitive to have Postfix "decide" to use a compiled in domain when there exists a domain in the system. Especially when postconf reports the "system" domain. Perhaps the devs would be willing to change this behavior? Thanks! -m