Provided by: nullmailer_2.2+10~g7ed88a0-6_amd64 bug

NAME

       nullmailer-send - Send queued messages

SYNOPSIS

       nullmailer-send

DESCRIPTION

       This  program  is  responsible  for  coordinating  the  transmission of messages that have been queued by
       nullmailer-queue.  It uses a variety of protocol modules to deliver the messages from the queue to remote
       "smart" servers.

       When  the  program  starts,  the  queue  is  scanned  to  build a list of messages to send.  The queue is
       rescanned when either the trigger is pulled, or after pausetime  seconds  have  elapsed  after  the  last
       failed  delivery.   When  there  are  no  messages  in the queue, nullmailer does no rescanning until the
       trigger is pulled.  Pulling the trigger consists of opening up the  trigger  named  pipe  and  writing  a
       single  byte  to it, which causes this program to be awakened (if it's not already processing the queue).
       This procedure is done by nullmailer-queue to ensure that messages are delivered  immediately.   You  can
       start delivery by hand from the command line like this:

           echo 1 > trigger

       Delivery  of  messages  consists  of  reading  the  list of remote servers and then trying to deliver the
       messages to these servers as follows.  For each remote  in  the  list,  the  named  protocol  handler  is
       executed  once for each message remaining in the queue.  If the protocol handler succeeds, the message is
       removed from the queue and processing continues with the next message.  If the protocol handler reports a
       permanent  failure  or  the message has been in the queue longer than queuelifetime, the message is moved
       into the failed queue and a bounce message is generated with nullmailer-dsn.  If any messages  remain  in
       the  queue,  processing  of  the remaining messages continues with the next remote.  When all the remotes
       have been tried, nullmailer-send sleeps for a number of seconds specified by  pausetime  before  retrying
       sending the contents of the queue.

CONTROL FILES

       All the control files are reread each time the queue is run.

       helohost
              Sets  the  environment  variable  $HELOHOST  which  is used by the SMTP protocol module to set the
              parameter given to the HELO command.  Defaults to the value of the me configuration file.

       maxpause
              The maximum time to pause between successive  queue  runs,  in  seconds.   Defaults  to  24  hours
              (86400).

       pausetime
              The  minimum  time to pause between successive queue runs when there are messages in the queue, in
              seconds.  Defaults to 1 minute (60).  Each time this timeout is reached, the timeout is doubled to
              a  maximum of maxpause.  After new messages are injected, the timeout is reset.  If this is set to
              0, nullmailer-send will exit immediately after going through the queue once (one-shot mode).

       queuelifetime
              The maximum time a message is allowed to live in the queue  before  being  considered  permanently
              failed, in seconds. Defaults to 7 days (604800).

       remotes
              This file contains a list of remote servers to which to send each message.  Each line of this file
              contains a remote host name or address followed by an optional protocol string, separated by white
              space.   The  protocol  name  defaults to smtp, and may be followed by additional options for that
              module.  See the "PROTOCOL OPTIONS" section for a list of the available options.  The options  may
              optionally  be  prefixed by -- but this is not required.  The line is parsed according to standard
              shell quoting rules.  For example, to connect to port 2525 on your SMTP  smart  host,  which  also
              requires SMTP authentication, and initiate TLS with STARTTLS, use:

                  smarthost.dom smtp port=2525 starttls user=user pass='my pass phrase'

              Blank lines and lines starting with a pound (#) are ignored.

       sendtimeout
              The  time to wait for a remote module listed above to complete sending a message before killing it
              and trying again, in seconds.  Defaults to 1 hour (3600).  If this is set  to  0,  nullmailer-send
              will wait forever for messages to complete sending.

PROTOCOL OPTIONS

       port=PORT
              Set  an alternate port number to connect to on the remote host. For example, SMTP may use port=587
              for the alternate SMTP "submission" port.

       user=USERNAME
              Set the SMTP authentication user name.

       pass=PASSWORD
              Set the SMTP authentication password.

       source=HOSTNAME
              Set the source address for connections to the remote host.

       auth-login
              Force SMTP "AUTH LOGIN" mode instead of auto-detecting.

       auth-external
              Use SMTP "AUTH EXTERNAL" for TLS client certificate authentication.

       tls    Connect using TLS.  This will automatically switch the default port to 465.

       ssl    Alias for the tls option for compatibility.

       starttls
              Use the STARTTLS command to initiate a TLS session.

       x509certfile=FILENAME
              Set the filename for a TLS client certificate to send to the server.

       x509keyfile=FILENAME
              Set the filename for the private key for a TLS client certificate.  Defaults to the same file name
              as x509certfile.

       x509cafile=FILENAME
              Set the TLS certificate authority trust filename. Defaults to /etc/ssl/certs/ca-certificates.crt.

       x509crlfile=FILENAME
              Set the TLS certificate revocation list filename.

       x509fmtder
              Specify that TLS X.509 files above are in DER format instead of PEM.

       insecure
              Don't  abort  a  TLS  connection if the server certificate fails validation.  Use this only if you
              know the server uses an invalid certificate.

       tls-anon-auth
              Use TLS anonymous authentication - replacing certificate authentication.  This means  no  external
              certificates  or  passwords are needed to set up the connection.  With this option your connection
              is vulnerable to man-in-the-middle  (active  or  redirection)  attacks.   However,  the  data  are
              integrity  protected  and encrypted from passive eavesdroppers.  This option must be used with the
              insecure option - to acknowledge that you know what you are doing.

FILES

       /var/spool/nullmailer/failed
              The failed message queue.

       /var/spool/nullmailer/queue
              The outgoing message queue.

       /var/spool/nullmailer/trigger
              A trigger file to cause immediate delivery.

       /etc/nullmailer
              The configuration directory.

       /usr/lib/nullmailer
              The protocol program directory.

SEE ALSO

       nullmailer-smtp(8),  nullmailer-qmqp(8)  nullmailer-dsn(1),  nullmailer-inject(1),   nullmailer-queue(8),
       mailq(1) http://www.postfix.org/TLS_README.html on how to setup a certificate-less Postfix SMTP server

                                                                                              nullmailer-send(8)