Man Linux: Main Page and Category List


       gnarwl ‐ GNU Neat Autoreply With LDAP


       gnarwl [‐h] [‐c <cfgfile>] [‐a <address>] [‐s <address>]


       gnarwl  is  an  email  autoresponder,  intended  to  be  a
       vaction(1)  program.  Since  a  modern mailserver, usually
       (or  even  thousands)   of   mailaccounts,   it   is   not
       (untrusted) users shell access so they may create/maintain
       file, required by vacation(1).

       With  gnarwl , all user‐suplied data is stored  within  an
       so  there  are  no  per  user  ".forward"  files (or  even
       Configuration is  conveniently  done  via  one  systemwide

       Like the old vacation(1) program, gnarwl accepts incomming
       stdin, and will send outgoing mail via an external MTA (it
       tains  basic  commandline compatibility, so it may be used

       Several gdbm databases are maintained, in  order  to  make
       does   not   bounce   back   and  force between gnarwl and
       MUA, b) mailing lists  will  not  be   bothered   and   c)
       addresses   may   never  produce  automatic  replies.  All
       files may be managed using the damnit(8) program.


       ‐c <cfgfile>
              Use a different configfile than the  one,  compiled

       ‐a <alias>
              Force <address> as receiving address.

       ‐s <address>
              Force <address> as sending address.

       ‐h     Print usage information.


       gnarwl  typically uses one global configurationfile, but a
       up is also possible using the ‐c commandline  switch.  The
       words are recognized in the configfile:

       map_sender <macroname>
              Binds  a  macroname (case insensitive), refering to
              an incomming email. Defaults to "$sender".

       map_receiver <macroname>
              Binds    a    macroname     (case     insensitive),
              receiver(s)  of  an  incomming  email.  Defaults to

       map_subject <macroname>
              Binds a macroname (case insensitive),  refering  to
              an incomming email. Defaults to "$subject".

       map_field <ldapattribute> <macroname>
              Binds a macroname (case insensitive), refering to a
              resultset, returned by the database. There  are  no
              this directive.

       server <address>
              Address of the databaseserver to query. Defaults to

       port <portnumber>
              Port, the LDAP server listens on. Defaults to  389.

       scope <base|one|sub>
              The  scope used for searching the database. Default
       login <string>
              Destinguished  name  to  bind  with  to  the   LDAP
              to bind anonymously.

       password <string>
              Password  to  use for binding to the LDAP database.
              is  required  to   access   the  server,  then  the
              belong  to the gnarwl user and have file permission

       base <destinguished name>
              Entrypoint of the search. There is no default   for
              tive, it must be supplied by the administrator.

       protocol <0|2|3>
              Select   protocol  to  bind  to the ldapserver. The
              which means "autodetect".

       queryfilter <ldap queryfilter>
              Search pattern to  match  against   the   database.

       result <ldap attribute>
              The  name  of the attribute, that is to be taken as
              The content  of  this  field  will  be  pasted   in
              found  via  forceheader and forcefooter directives.
              remaining macros  are  expanded  in  the  order  of
              the result will be piped through to the MTA.

       blockfiles <directory>
              The     directory,   where   gnarwl   stores   it’s
              are required to keep  track  on  who  was  sent  an

       umask <mode>
              What    permission    to   give   newly   generated
              default is 0600.

       blockexpire <number>
              How  long   (in   hours)   to   block   a   certain
              Default    is  48  hours.  Setting  <number>  to  0
              (not recommended). No blockfiles  are  read/written
       maxreceivers <number>
              Ignore   incomming   email,   specifying  too  many
              It  does  not  matter, whether these are  local  or
not, as gnarwl
              doesn’t know domains. Default is 256.

       maxheader <number>
              Ignore   incomming  email  with  more   than   this
              lines. Lines are counted before unfolding them,  so
              really  counts  as  at  least two lines. Default is

       badheaders <filename>
              Path  to  a  database  file,  containing   matching
              mailheader.    If   an  entry  stored  in this file
              the header exactly, then this mail will be  ignored
by gnarwl  is
              deactivated by default.

       blacklist <filename>
              Pointer    to    a    database   file,   containing
emailaddresses, gnarwl is
              not  allowed  to  generate  automatic  replies  for
(useful to prevent
              automatic   replies   from   addresses,  which  are
              people). This feature is deactivated by default.

       forceheader <filename>
              Path to a  text  file,  containing  a  standardized
              to   be   pasted  in  front of every outgoing mail.
              end with a  single  empty  line.  Otherwise  it  is
              users   are   allowed   to  continue the header and
              separating empty line themselves.  Default  is  not
              thing   (that  is:  The  user  has  to  supply  the
              "result" attribute).

       forcefooter <filename>
              Path to a  text  file,  containing  a  standardized
              to  be appended at the end of every generated mail.
              not to force anything.

       mta <prog> [<args>]
              Specify MTA for sending mail. It must  be  able  to
              STDIN.  Default is "/usr/sbin/sendmail".

       charset <encoding>
              LDAP   stores   text   in  unicode, which is ok, as
              mail doesn’t  contain  any  non  ASCII  characters.
              specific   characters  (like  german  umlaute)  end
              glyphs. With the "charset" directive, gnarwl  tries
              these   to  the  correct  symbols.  The  <encoding>
              tain a string recognized by iconv(3).   Default  is
              convert  anything  (assume  US‐ASCII charset / MIME
       recvheader <string>
              A  whitespace  separated list of headers (case does
              which may contain receiving addresses. Defaults to:
"To Cc".

       loglevel <0|1|2|3>
              Specifies what to send  to  the  syslog.  A  higher
              ically  includes  all  lower loglevels (see section


       Since gnarwl is not meant to be invoked  by  anything  but
       it’ll   never print out messages to the systemconsole, but
       syslog(3), using the facility "mail". A log line is always
       lowing format:

       <level>/<origin> <message>

       The  <level>  field indicates the severity of the message,
       to the "loglevel" config directive. Possible values are:

       CRIT (loglevel 0)
              Critical messages.  gnarwl cannot continue and will

die with a

              nonzero   exit   code.  This  usually  causes  the

       WARN (loglevel 1)
              A  warning.   gnarwl   can   will   continue,   but
              full/intended functionality.

       INFO (loglevel 2)
              Status   information.   A   message   in  the  INFO
              normal behaviour.

       DEBUG (loglevel 3)
              Debugging information.  gnarwl will log  a  lot  of

information on

              how mail is processed.

       The   <origin>  field gives a short hint about what caused
       in question, while <message> contains a short  description
       ally happened.


       Patrick Ahlbrecht <>


       vacation(1), postfix(1), iconv(1), damnit(8), rfc822


              main configuration file.

              forward file for the mailsystem.

              gnarwl  won’t send an autoreply  for  anyone  whose
              listed herin.

              gnarwl  will  ignore mail, it is able  to  match  a
              an  entry  in  this file. Case is  significant,  no

              Standard header to paste in front of every outgoing

              Standard footer to append to every outgoing mail.

              block files.