G. Pape
qconfirm
qconfirm-control - change qconfirm configuration through email
in
.qmail-ext-default:
|qconfirm-control [-v] [-d dir] [-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 time-stamp
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.
- -d dir
- Override the default qconfirm directory (‘‘~/.qconfirm’’) and the environment
variable $QCONFIRM_DIR with dir.
- -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.
qconfirm-control reads its configuration
from files in the subdirectory conf/ of the qconfirm directory (normally
‘‘~/.qconfirm/conf/’’). Only the first line of a configuration file is considered.
- QCONTROL_OWNER
- The configuration file QCONTROL_OWNER must contain an email
address of the owner of the corresponding qconfirm directory. If this configuration
file is not set, qconfirm-control refuses to run.
- QCONTROL_QUOTE
- The configuration
file QCONTROL_QUOTE overrides the default quoting prefix in control messages
(‘‘> ’’).
- QCONFIRM_MAILNAME
- The configuration file QCONFIRM_MAILNAME overrides
the default mailname in the from header of control messages (‘‘qconfirm’’).
- QCONFIRM_PREPEND
- This configuration file must be set if the mail address
qconfirm is configured 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-inject(1),
qconfirm-notice(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