G. Pape
qconfirm
qconfirm-control - change qconfirm configuration through email
in
.qmail-ext-default:
|qconfirm-control [-v] [-t sec]
qconfirm-control
is an email interface to the qconfirm(1) program. It runs as a qmail-command(8)
from a .qmail-ext-default file.
Whenever an email is handled by this .qmail-ext-default
file, qconfirm-control checks the default part of the address extension
if it is empty, one of pending, ok, return, or bad, or an unique, 32 characters
long, key. If not, the email is bounced.
If default is not a key, qconfirm-control
treats the message as a request message, creates an unique key, runs ’qconfirm
list default | sort -r’ and mails the output to $QCONTROL_OWNER. The from header
of the message is set to an address that is handled through the same .qmail-ext-default
file with the newly created key as default extension.
If default is 32 characters
long key, qconfirm-control checks if this key is valid, and if so, treats
the message as a control message and processes it for commands (see below).
If not, the message is bounced.
qconfirm-control processes each
line of the body of a control message for commands as follows:
If the line
is empty, it is ignored.
If the line starts with $QCONTROL_QUOTE (default:
’> ’), qconfirm-control checks if the quoted line is of the format of the output
of ’qconfirm list’, and if so, remembers the address after the timestamp
to add it to the next command found in the body. If the format doesn’t match,
the line is ignored.
All other lines are interpreted as commands. If the
line doesn’t start with one of the words list, check, accept, drop, bounce,
sneak, pending, remove, bad, or stop, or thanks, qconfirm-control prints
a warning and ignores the line.
qconfirm-control precedes each line it processes
with $QCONTROL_QUOTE (’> ’), prints it, and then prints the output from processing
the line. The output of qconfirm-control is mailed to $QCONFIRM_OWNER.
If
the command is one of list, check, accept, drop, bounce, sneak, pending,
remove, or bad, qconfirm-control runs ’qconfirm command’ with the remembered
addresses from quoted lines and all words following the command in the
precessed line as arguments, prints the output, and forgets the addresses
in memory.
If the command is stop, qconfirm-control stops processing the
control message at the current line.
If the command is thanks, qconfirm-control
stops processing the control message at the current line, and invalidates
the used key.
- -v
- verbose. Be more verbose when processing control messages.
- -t sec
- timeout. A request message to qconfirm-control is deferred temporarily
as long as the corresponding unique key is valid. The unique key at the
latest becomes invalid when qmail tries to deliver the request message
and the message has been in the queue for at least sec seconds. Default
is 300.
- QCONTROL_OWNER
- The environment variable QCONTROL_OWNER
must contain an email address of the owner of the corresponding qconfirm
directory. If this environment variable is not set, qconfirm-control refuses
to run.
- QCONTROL_QUOTE
- The environment variable QCONTROL_QUOTE overwrites
the default quoting prefix in control messages (> ).
- QCONFIRM_MAILNAME
- The
environment variable QCONFIRM_MAILNAME overrides the default mailname in
the from header of confirmation requests and acknowledgements (qconfirm).
- QCONFIRM_PREPEND
- This environment variable must be set if the mail address
you run qconfirm for is controlled through qmail’s virtualdomains. It must
be set to the prepend part of the corresponding entry in /var/qmail/control/virtualdomains
plus a dash at the end.
- QCONFIRM_DIR
- The environment variable QCONFIRM_DIR
overrides the default location of the user’s qconfirm directory (.qconfirm/).
~/.qconfirm/pending/
~/.qconfirm/ok/
~/.qconfirm/return/
~/.qconfirm/bad/
~/.qconfirm/control/
qconfirm(1), qconfirm-check(1), qconfirm-conf(1), qconfirm-accept(1),
qconfirm-return(1), qconfirm-cdb-check(1), qconfirm-cdb-update(1)
http://smarden.org/qconfirm/
Gerrit Pape <pape@smarden.org>
Table of Contents