Overviewextsmail enables the robust sending of e-mail to external commands. extsmail masquerades as the standard UNIX
sendmailprogram, reading messages, and later piping them to user-defined commands. In a sense, extsmail can be thought of as a very simple
sendmail. A typical use is to allow e-mail to be piped via
sshto 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
sshas 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