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.– cjmDec 13, 2011 at 8:40
5 Answers
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 runningnewaliases
. I also tried/var/mail/root
without success...– cwdDec 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. 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 :)– cwdDec 14, 2011 at 14:20
-
-
@ThomasWeller Which file?
/etc/aliases
and~/.forward
are usually 644, though I think 600 works with most MTAs. Nov 30, 2015 at 22:09
Simply create /root/.forward
and place your email address in this file. It will be forwarded to your external mail address.
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).
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
Use this command:
nano /root/.forward
Insert, edit or remove emails in that text file, Ctrl+X, [Y] to save file.