85

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?

1
  • You should ask your second question as a separate question if you really want an answer to it.
    – cjm
    Commented Dec 13, 2011 at 8:40

5 Answers 5

97

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: [email protected], /root/mailbox; the effect is the same as having [email protected], /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.

6
  • hmm, does [email protected], /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
    Commented Dec 14, 2011 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. Commented Dec 14, 2011 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
    Commented Dec 14, 2011 at 14:20
  • What permissions should the file have? Commented Nov 30, 2015 at 21:59
  • @ThomasWeller Which file? /etc/aliases and ~/.forward are usually 644, though I think 600 works with most MTAs. Commented Nov 30, 2015 at 22:09
18

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

1

If you are using the Postfix MTA and own your own domain (example.com), you can configure it to forward to [email protected] 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 [email protected] and route it accordingly, whether relay to your relayhost or deliver it to example.com directly. With this configuration Postfix will deliver mail to [email protected] to your local mailbox (/var/mail/root or wherever your system delivers system mail).

1

in ~/.forward [email protected], [email protected]

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .