You can install an MTA -several are easily available in the Ubuntu repositories- but configuration is not trivial. MTAs date from before the IMAP- and SMTP-based e-mail systems we use today, which makes them highly flexible and configurable...but not necessarily the easiest solution.
ssmtp is a limited-purpose MTA intended to replace the 'mail' command and send all output to an SMTP mailserver. ssmtp is provided by the 'ssmtp' package.
Install
sudo apt-get install ssmtp
Configuration file #1: /etc/ssmtp/ssmpt.conf
This tells ssmtp how to send email to my account.It's not the best idea to store your e-mail password in world-readable plain text. See how to protect the password properly.
# Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. root=me@example.com # The place where the mail goes. The actual machine name is required no # MX records are consulted. Commonly mailhosts are named mail.domain.com mailhub=my_mail_server.net:465 AuthUser=me@example.com AuthPass=my_email_password UseTLS=Yes # Where will the mail seem to come from? rewriteDomain=example.com # The full hostname hostname=hey_its_my_computer # Are users allowed to set their own From: address? # YES - Allow the user to specify their own From: address # NO - Use the system generated From: address FromLineOverride=YES
Configuration File #2: /etc/ssmtp/
This directs root mail to my account.# sSMTP aliases # # Format: local_account:outgoing_address:mailhub # # Example: root:your_login@your.domain:mailhub.your.domain[:port] # where [:port] is an optional port number that defaults to 25. root:me@example.com:my_mail_server.net:465
And now cron output lands in my normal inbox.