nullmailer-send - Send queued messages
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"
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
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
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 it
fails, the remote is skipped and processing of the remaing messages continues
with the next remote. When all the remotes have been tried,
sleeps for a number of seconds specified by
before retrying sending the contents of the queue.
- -d, --daemon
- Fork into the background, implies --syslog.
- -s, --syslog
- Use syslog for error and log messages. With --daemon,
syslog will be used exclusively, without --daemon, syslog will be used
All the control files are reread each time the queue is run.
- 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
- The maximum number of seconds to pause between successive
queue runs (defaults to 86400).
- The minimum number of seconds to pause between successive
queue runs when there are messages in the queue (defaults to 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).
- 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
command-line arguments for that module. For example, to connect to port
2525 on your SMTP smart host, which also requires SMTP authentication,
smarthost.dom smtp --port=2525 --user=user --pass=pass
If your smarthost requires LOGIN authentication instead of the default PLAIN
smarthost.dom smtp --port=2525 --auth-login --user=user --pass=pass
Blank lines and lines starting with a pound are ignored. When called with
the --help option, each protocol module will list its available
- The number of seconds to wait for a remote module listed
above to complete sending a message before killing it and trying again
(defaults to 3600). If this is set to 0,
nullmailer-send will wait forever for messages to complete
- The message queue.
- A trigger file to cause immediate delivery.
- The configuration directory.
- The protocol program directory.
nullmailer-queue(8), nullmailer-inject(1), mailq(1), nullmailer-smtp(8),