A typical use case is the following: You have a notebook or a workstation without a full-fledged MTA (e.g., postfix) installed, but something like msmtp, esmtp, or ssmtp, which only forward the mail to an SMTP server. Such lightweight SMTP clients typically do not feature a mail queue. In case that your SMTP client cannot connect to the SMTP server, the mail is lost.


msmtp … ships shell scripts that implement a simple queuing mechanism around msmtp. However, /usr/sbin/sendmail is still a symlink to /usr/bin/msmtp and, thereby, Unix-type software like cron would trust that msmtp queues mails that cannot be delivered right now.

The second paragraph is the critical advantage for me. I’ve lost a lot of e-mails from cron this way. So this script looks killer. Planning to try it out tonight.