65

I'm getting a lot of mail in my root user's mail account. This appears to be mostly reports and errors from things like cron scripts. I'm trying to work though and solve these things, possibly even have them be piped to some sort of "dashboard" - but until then how can I have these messages go to my personal e-mail account instead?

  • You should ask your second question as a separate question if you really want an answer to it. – cjm Dec 13 '11 at 8:40
77

Any user, including root, can forward their local email by putting the forwarding address in a file called ~/.forward. You can have multiple addresses there, all on one line and separated by comma. If you want both local delivery and forwarding, put root@localhost as one of the addresses.

The system administrator can define email aliases in the file /etc/aliases. This file contains lines like root: cwd@mailhost.example.com, /root/mailbox; the effect is the same as having cwd@mailhost.example.com, /root/mailbox in ~root/.forward. You may need to run a program such as newaliases after changing /etc/aliases.

Note that the workings of .forward and /etc/aliases depend on your MTA. Most MTAs implement the main features provided by the traditional sendmail, but check your MTA's documentation.

  • hmm, does cwd@mailhost.example.com, /root/mailbox work on ubuntu? it goes to the first address but not the local mailbox for root, even after running newaliases. I also tried /var/mail/root without success... – cwd Dec 14 '11 at 1:37
  • 1
    @cwd It does for Postfix. Hmm, I think recent versions of Ubuntu install a limited MTA which doesn't do any local delivery in the default desktop installation. Older Ubuntu releases or server installations install Postfix by default, and Postfix does support my examples. – Gilles 'SO- stop being evil' Dec 14 '11 at 10:07
  • Thanks. I think root's .forward file may have been overriding the multiple addresses I had in the alias file. It's working now, thanks for your help :) – cwd Dec 14 '11 at 14:20
  • What permissions should the file have? – Thomas Weller Nov 30 '15 at 21:59
  • @ThomasWeller Which file? /etc/aliases and ~/.forward are usually 644, though I think 600 works with most MTAs. – Gilles 'SO- stop being evil' Nov 30 '15 at 22:09
13

Simply create /root/.forward and place your email address in this file. It will be forwarded to your external mail address.

1

in ~/.forward myaddress@example.com, root@thisserver.com

with this I get an email on my box and it is also written to /var/mail/root. (my distribution is Debian with postfix).
Replace "thisserver.com" with the domain name of your server

0

Use this command:

nano /root/.forward 

Insert, edit or remove emails in that text file, Ctrl+X, [Y] to save file.

0

If you are using the Postfix MTA and own your own domain (example.com), you can configure it to forward to root@example.com alongside any other user account.

In the main.cf configuration file, or with the overrides in master.cf set the following options:

mydomain = example.com
mydestination = localhost.localdomain, localhost, local.$mydomain # Basically, anything but $mydomain

This will have Postfix treat mail to your root account as root@example.com and route it accordingly, whether relay to your relayhost or deliver it to example.com directly. With this configuration Postfix will deliver mail to root@local.example.com to your local mailbox (/var/mail/root or wherever your system delivers system mail).

protected by Community Jan 21 at 18:29

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.