> What makes it robust? What happens if the external command fails? The command is retried (with a delay) until it succeeds. For example the second scenario on <http://tratt.net/laurie/src/extsmail/scenarios.html> shows how this can be utilised to achieve fallover between servers.
> How is failure detected? The exit code of the command run. e.g. if using ssh, exit code != 0 indicates failure (and a presumption that mail delivery was unsuccessful). extsmail goes out of its way to detect a number of other unlikely failures (resources temporarily unavailable etc.). It should never lose mail. The only condition it can't recover from is a lack of memory (and given that even on a 64 bit machine it takes well under a Mb of memory, this is not hugely likely to happen) whereupon it will simply exit (unsent mail will remain unsent until extsmail is restarted). I welcome code audits, particularly of the "core" of extsmail which is the mail sending daemon: https://github.com/ltratt/extsmail/blob/master/extsmaild.c Laurie -- Personal http://tratt.net/laurie/ The Converge programming language http://convergepl.org/ https://github.com/ltratt http://twitter.com/laurencetratt -- To UNSUBSCRIBE, email to debian-wnpp-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20111220185642.ga7...@overdrive.tratt.net