I have a couple of cron jobs that sometimes produce error output and would like to get a notification in my "real" email account, since I don't use my user's mailbox in my Ubuntu laptop, but cron (or is it postfix maybe) keeps trying to email the local root account.
I know I can add the MAILTO variable to the crontab:
ricardo@ricardo-laptop:~$ sudo crontab -l
[email protected]
# m h dom mon dow command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh
But it doesn't seem to pay any attention to it
I also tried adding my email to the /etc/aliases
file and running newaliases
ricardo@ricardo-laptop:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster: root
root: [email protected]
ricardo: [email protected]
still, whenever cron wants to send an email it's still sending it to [email protected]
:
ricardo@ricardo-laptop:/var/log$ tail mail.log
Aug 3 16:25:01 ricardo-laptop postfix/pickup[2002]: D985B310: uid=0 from=<root>
Aug 3 16:25:01 ricardo-laptop postfix/cleanup[4117]: D985B310: message-id=<20100803192501.D985B310@ricardo-laptop>
Aug 3 16:25:01 ricardo-laptop postfix/qmgr[2003]: D985B310: from=<[email protected]>, size=762, nrcpt=1 (queue active)
Aug 3 16:25:03 ricardo-laptop postfix/smtp[4120]: D985B310: to=<[email protected]>, orig_to=<root>, relay=smtp.gmail.com[74.125.157.109]:25, delay=1.5, delays=0.38/0.02/0.9/0.18, dsn=5.7.0, status=bounced (host smtp.gmail.com[74.125.157.109] said: 530 5.7.0 Must issue a STARTTLS command first. d1sm12275173anc.19 (in reply to MAIL FROM command))
Any suggestions? I'm running Ubuntu 10.04, with everything up-to-date
It would appear that you have configured smtp.gmail.com as your smarthost for the mail server. You need to remove the smarthost configuration or edit it so that your server is at all capable of sending mail to the outside world.
The configuration you have now for the mail forward appears to be working, but is failing because smtp.gmail.com is rejecting the mail.
Update: For future reference, the problem was in
/etc/mailname
which listed a name that wasn't in themydestinations
list of postfix. This caused all mails to be considered foreign and the mail bypassed/etc/aliases
processing.Solution extracted from question
(thanks to Ressu)
The problem was with the file
/etc/mailname
This file was created by the Ubuntu installer and contained the wrong server-name. Once I changed it to match "ricardo-laptop" postfix realized the emails were intended for local delivery and started to follow the aliases
thought I'd add on for people who discover this as I did. An easy alternative if you want all your mail from your root account is to run this command:
You can then put in a single email or separate more than one with commas. This will forward all of your root emails (assuming you're using the root) to the email address(es) in this file.
Once you've added the emails, Press Ctrl+X then Y to save the changes.