No MTA installed, discarding output

This is a common error

Context

By default, the output of each cron job is collected by cron and sent via email when the job is complete. If there is no output, no mail is sent.


What causes this error

If you see (CRON) info (No MTA installed, discarding output) errors in your syslog it means that there is output from your cron job but your server does not have a Message Transfer Agent installed to process the output into an email.

This is not a problem with your cron job itself and does not mean your cron job is failing.


Fixing No MTA installed, discarding output errors

There are 3 ways you can fix this error:

  1. Install an MTA like the popular postfix. This can be installed in most cases from a package manager. For example, on Ubuntu you may run:
    sudo apt-get install postfix
    If you select local installation, the output from your cron jobs will be relayed to a local "mailbox" that you can easily tail:
    sudo tail -f /var/mail/<cron user>
  2. Another option, if you don't care about cron emails, is to silence the error by disabling emails from your crontab. The easiest way to do this for all cron jobs is to add this to the top of the crontab file:
    MAILTO=""
  3. The final option is simply to ignore this error. This is not a fatal error and does not impact the success of your cron job itself. With proper cron job monitoring you can trust your job is working correctly without manually reviewing output each time it runs.

Our software, CronitorCLI, includes the free tools we always wished we had.  Scan your system and list every cron job in seconds using cronitor list.  Run any cron job instantly using cronitor select.