EXTSMAIL.EXTERNALS(5)         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 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:

     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 processing), and user is the username on the remote machine
     mymachine.net.

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

           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/â©

OpenBSD 6.1                    November 2, 2008                    OpenBSD 6.1