While Ubuntu LXD containers come up with `/etc/mailname` by default, not
all image providers do the same - for example OpenStack VMs using Ubuntu
cloud images don't. Ensure that it exists with some
minimally-reasonable contents, since the generated
`/etc/postfix/main.cf` requires it.
I'd like to use this charm in Launchpad deployments. We use
sender-dependent relay hosts on at least some Launchpad machines in
order to ensure that only messages with expected envelope senders are
sent out to our authenticated relay, and this will let us reproduce the
necessary configuration. I imagine it might have other use cases as
well.
There isn't really a strong reason to require units to have an
externally-resolvable hostname, especially for a subordinate charm.
It's quite common for internet email to originate at a host that isn't
even externally-routable never mind having an externally-resolvable
hostname, and this is fine as long as it's relaying to something whose
hostname can be resolved by the next hop in the chain.
A better default is to just let Postfix use the system's fully-qualified
domain name from `gethostname`, which is its default. That way, this
charm can be deployed on units that aren't exposed to the internet, and
they can just be configured to relay to something that does have an
externally-resolvable hostname.