The proper fix was to remove the local-mailbox
declaration I had unwittingly copied from the system that does
send internet mail to the ones that don't and on the one that
does, I now set the $MAILDROP environment variable and, so far,
all is peace and bliss now.
I had written this long note about how there was NO way that that the
local-mailbox entry would affect that, but I am glad I double checked ...
because I would have been wrong. It totally does! From
/* If there's a Local-Mailbox profile component, try to extract
the username from it. But don't try very hard, this assumes
the very simple User Name <firstname.lastname@example.org> form.
Note that post(8) uses context_foil(), so it won't see the profile
If it finds a username in local-mailbox profile component, then it copies
that over to username and that's returned by getusername() which is
eventually used to construct the default maildrop name. It looks like
that was changed in commit af586ebe59b7, which was back in ... 2012.
Whoops. So yeah, your Local-Mailbox profile entry made it look in
a maildrop file named /var/mail/martin.m. That one is on us!
Obviously this was an unintended consequence of this change; I
understand why it was done, so the mh-format functions would work
correctly with a Local-Mailbox profile component, but I think we'd all
be in agreement that the default maildrop name should be based on the
local Unix username and NOT what the user places in their Local-Mailbox
profile entry. I think the correct change should be what we did to
LocalName(); add an argument that indicates if you want something that
could come out of a config file or ONLY the Unix username. Thoughts?