I checked in to one of my Linux accounts today and saw that I had about 2 GB of unread emails.
Dating back to 2008, these emails were almost entirely the output of different cron jobs that I have set up & running on that account. They were error notifications & various STDOUT messages. Nothing really major, just informational type stuff. Mostly stuff I don’t really need to know about, just the result of some sloppy coding on my part. (Like STDOUT messages I should have stripped from the code before running the job via cron.)
I was a little surprised, because I *thought* I had an email forwarder set up on that account. I did, but it was not set up correctly. (Obviously.)
The problem was really simple, and just something I overlooked – I had forgot to set the permissions of the .forward file correctly, so it was being ignored by the Linux system.
I thought I’d post here in case anyone else made the same mistake.
How to set up a Linux .forward file correctly
1. Create a file called “.forward” in your home directory. If your username is “billg”, the file should (likely) be created at “/home/billg/.forward”. Stick the email address you’d like to forward emails to in that file. You can accomplish this quickly from the command line using the command “echo ‘firstname.lastname@example.org’ > /home/billg/.forward”
2. After you’ve done this, make sure you set the file so that it’s not world-writeable! (This is the step I overlooked). “chmod 644 /home/billg/.forward”
That’s it – your email should be forwarded correctly.
The reason it doesn’t work when the permissions aren’t set correctly is a security thing – just imagine the risks if anyone was able to write to your .forward file. As a precaution, the system will ignore the .forward file if it is world writeable.