| 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 |