SIMPLE SOLUTIONS

EXTSMAIL.EXTERNALS - reference manual online

Configure which external commands to robustly send e-mail via.

Chapter
OR
EXTSMAIL.EXTERNALS(5)                BSD File Formats Manual                EXTSMAIL.EXTERNALS(5)

NAME extsmail.externals — configure which external commands to robustly send e-mail via
DESCRIPTION extsmail.externals is used to configure extsmaild(1). It consists of one or more group dec‐ larations. Each group consists of zero or more match / reject clauses followed by one or more external declarations. An external consists of one or more assignments of key = value pairs. When sending messages extsmaild(1) first searches through the externals file, in order, for a group whose match / reject clauses match the message in question. If a group does not con‐ tain any such clauses it automatically matches all messages. Match / reject clauses cur‐ rently match only against headers, and use standard POSiX extended regular expressions (see re_format(7) for more details). extsmaild(1) then tries each external in the group, in order, to send the message successfully. The grammar for this file is as follows: group ::= { matches* external+ } matches ::= match | reject match ::= MATCH HEADER string reject ::= REJECT HEADER string external ::= EXTERNAL ID { defn+ } defn ::= ID = STRING | ID = TIME TIME ::= [0-9]+[dhms] Valid assignments within an external are: sendmail Defines the external shell command used to send e-mail. timeout If extsmaild(1) is executed in daemon mode, this value defines the length of time that extsmaild(1) will retry this external before giving up and trying the next external in the group. Times are specified as a number followed by d (days), h (hours), m (minutes), or s (seconds). If extsmaild(1) is executed in batch mode, the timeout value is ignored.
FILES The extsmail configuration file is searched for, in order, in the following locations: ~/.extsmail/externals Per-user configuration. /etc/extsmail/externals System-wide configuration.
EXAMPLES The simplest externals file sending e-mail via ssh(1) looks as follows: group { external mymachine { sendmail = "/usr/bin/ssh -q -C -l user mymachine.net /usr/sbin/sendmail" } } where mymachine is a human-friendly name given to an external (it does not effect process‐ ing), and user is the username on the remote machine mymachine.net. A more complex example using multiple groups, message matching, and multiple external com‐ mands looks as follows: group { match header "^To:.*@foo.com" external foo { sendmail = "/usr/bin/ssh -q -C -l user shell.foo.com /usr/sbin/sendmail" } } group { external mymachine { sendmail = "/usr/bin/ssh -q -C -l user mymachine.net /usr/sbin/sendmail" } external bk { sendmail = "/usr/bin/ssh -q -C -l user bk.mymachine.net /usr/sbin/sendmail" } }
SEE ALSO extsmail(1), extsmail.conf(5), extsmaild(1)
AUTHORS Laurence Tratt <http://tratt.net/laurie/>
BSD November 2, 2008 BSD
This manual Reference Other manuals
extsmail.externals(5) referred by extsmail(1) | extsmail.conf(5) | extsmaild(1)
refer to extsmail(1) | extsmail.conf(5) | extsmaild(1) | regex(7) | ssh(1)