I’ve been working on backing up my home directory automatically, generally when I automate a process I like to get an email notification of completion and perhaps a log file as proof. Ubuntu doesn’t seem to have a command line mailer installed by default and many of the apps in the repos have heavy dependencies (such as exim or postfix). I don’t plan on running a mail server, and these programs add a level of complexity that just isn’t necessary (not to mention I’m just not ready to mess with them). I found a small script that does exactly what I need, sendEmail. It’s only dependency is perl and that should already be installed on your system.
sendEmail -f [from address] -t [to address] [another to address] -u ['subject'] -m ['body'] -a [attachment] -s [your SMTP server]
As the example above shows, you simply call the script, specify your from address, specify the to address (one or many), define a subject and body (if you are including spaces in the subject or body wrap them in quotes), attach a file if you like, and then give it the address of your SMTP server (which was provided to you by your ISP). It’s just that simple and it just works.
I couldn’t locate sendEmail in the Fedora repos (Ubuntu has it in the Universe repo) but it’s VERY easy to install yourself. Download the official release from http://caspian.dotconf.net/menu/Software/SendEmail/ to your home directory, then enter the commands below.
Note: At the time of this writing the current version is 1.54 and the downloaded filename is sendEmail-v1.54.tar.gz. The filename may change later so you’ll have to adjust the commands below accordingly. You will need the root password to install this script to the locations below.
Open a terminal window and go to your home folder (or the location of the downloaded file)
su -c ‘tar -xzvf sendEmail-v1.54.tar.gz -C /usr/lib/’
su -c ‘ln -s /usr/lib/sendEmail-v1.54/sendEmail /usr/bin/’
The first command will extract the files to /usr/lib/sendEmail-v1.54/. The second command just creates a symbolic link in /usr/bin/ that will allow you to call sendEmail from the command line. For those interested, su -c switches user to root, executes the command following the -c and then returns you to your normal user level. I tend to use this method so I don’t forget to log out of the root account and accidentally break something.