EXTSMAIL.EXTERNALS(5) | File Formats Manual | EXTSMAIL.EXTERNALS(5) |
extsmail.externals
—
configure which external commands to robustly send e-mail
via
extsmail.externals
is used to configure
extsmaild(1). It consists of one or more
group
declarations. 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 contain any such clauses it automatically matches all messages. Match / reject clauses currently 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:
The extsmail configuration file is searched for, in order, in the following locations:
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 -t" } }
A more complex example using multiple groups, message matching, and multiple external commands 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 -t" } } group { external mymachine { sendmail = "/usr/bin/ssh -q -C -l user mymachine.net /usr/sbin/sendmail -t" } external bk { sendmail = "/usr/bin/ssh -q -C -l user bk.mymachine.net /usr/sbin/sendmail -t" } }
Laurence Tratt ⟨http://tratt.net/laurie/⟩
November 2, 2008 | Debian |