extsmail enables the robust sending of e-mail to external commands. extsmail masquerades as the standard UNIX sendmail program, reading messages, and later piping them to user-defined commands. In a sense, extsmail can be thought of as a very simple tiny sendmail. A typical use is to allow e-mail to be piped via ssh to external servers running a full sendmail-compatible MTA. extsmail is designed to have sensible defaults, and configuring it is a one-off, quick job.

Should you use extsmail?

Fundamentally, extsmail is only of interest to those who use (or wish to use) traditional UNIX mechanisms to send e-mail. If one or more of the following then apply to you, extsmail might be the tool you're looking for:
  • you want to have a secure authentication mechanism for sending e-mail to a remote machine (e.g. you wish to use ssh as your sole authentication mechanism).
  • you don't want to run an IMAP / POP server.
  • you regularly move between different networks (and thus don't have a single SMTP server to send mail via).
  • you use machines which sit on dynamic IP addresses (and thus are discriminated against by many spam filters).
  • you find yourself regularly offline, or have an internet connection which tends to go up and down at random (and need a local MTA which tries, by default, to send mail more frequently than traditional MTAs).
  • you prefer not to send mail using a program that runs as root.

In addition to its main purpose, extsmail allows priority lists to be defined, and also for e-mails to be routed to different servers depending on the e-mail content. The former feature allows one to designate a preferred server to send e-mail, but to use a backup server if the preferred server is down. The latter feature allows e-mails sent to different e-mail addresses, for example, to be routed to different servers; this is often useful for mailing lists which require mail to be sent from machines on a specific IP range.

extsmail masquerades as the standard UNIX sendmail program, but it's not a full SMTP server. It doesn't need root privileges. It can run as a daemon, or as a batch job (e.g. via cron).

Download and docs


extsmail was originally created by Laurence Tratt. Olivier Girondel has been a major contributor since v1.8.