I recently ran into a strange issue. I wasn’t getting mail from cron - even though I could mail myself locally without incident. My cron daemon was running fine, and I had MAILTO=user specified in the crontab.
The first piece of advice everyone says when you search about this is “make sure you can send mail to yourself.” And I could - using mail or mailx and sending to andrew. And if you try searching for help after that, you get lost in the weeds of people trying to send mail to Gmail, and setting up postfix, and going insane.
After a little poking around, I noticed this in my /var/log/mail.log:
Sep 12 04:28:01 myserver postfix/qmgr[2902]: A292710059B:
from=<root@myserver.mydomain.com>, size=800, nrcpt=1 (queue active)
Sep 12 04:28:01 myserver postfix/error[20839]: A292710059B:
to=<andrew@myserver.mydomain.com>, orig_to=<andrew>, relay=none, delay=1.4,
delays=1/0.12/0/0.25, dsn=5.0.0, status=bounced (myserver.mydomain.com)
I’ve been faking my domain name and it looks like when I upgraded to Ubuntu 16.04.1 things stopped working. (I have a sneaking suspicion that the upgrade process yanked the domain address out of /etc/hosts. But maybe cron changed and started using my FQDN instead of my local mail address.)
But even after changing my hosts file from:
127.0.1.1 myserver
to:
127.0.1.1 myserver myserver.mydomain.com
things weren’t mailing again. I finally changed my crontab to MAILTO=andrew@localhost instead. But that seems kind of bogus. If you’ve got better ideas (/etc/mailname maybe?) let me know.