Updates can occassionally break things. Some package managers will replace existing configuration files with a default one, and will rename the original configuration before hand. Sometimes it's even a mistake in the code that was missed when they release.
Make sure everything is up-to-date, then search through the config files for your mail server to make sure it didn't rename/replace your config files. If you know the name of the config files you need to look at, the following command can speed things up:
Code:
updatedb && locate something.conf | grep etc
You'll need either mlocate or slocate installed to do that, though most systems have one of those installed by default.
Replace something.conf with the name of the config file. The "| grep" ([pipe character] grep) part will act as a filter for locate, and will only let the results show that have etc in them, which is useful for config files since most of them are in /etc.
Only look at the stuff for your mail server and cron. It's unlikely anything else will have broken cron's ability to send emails.