Provided by: qmail_1.06-6.2~deb10u1build0.20.04.1_amd64 bug

NAME

       qmail-verify - Address verification daemon

SYNOPSIS

       qmail-verify

DESCRIPTION

       qmail-verify  receives UDP packets containing local email addresses and returns a single byte to indicate
       if the address is valid or invalid to the sender of the  UDP  packet.   qmail-smtpd  or  qmail-qmtpd  are
       typical  clients  using  the  qmail-verify  service,  although  at  present only qmail-smtpd has had this
       functionality  added.   qmail-verify   is   based   on   Paul   Jarc's   realrcptto   patch   for   qmail
       (http://code.dogmap.org/qmail/).

       qmail-verify  uses  the files control/locals, control/virtualdomains, users/cdb, the system password file
       entries (typically in /etc/passwd ) as well as the existence  or  not  of  users'  home  directories  and
       .qmail[-xxx] files to determine if a given address is valid.

       Where  a qmail system uses .qmail-default files on a per-domain basis in a virtual domains setup, this is
       likely to result in all addresses being considered 'valid'. This may not in fact be the case  in  certain
       situations,  such  as  with  extensions/adaptations to qmail like vpopmail which use .qmail-default files
       throughout (delivery in this case is subsequently handled by a vpopmail  component).  In  these  cases  a
       replacement for qmail-verify will be required that can determine address validity.

       Other  customised qmail installations that use different methods to locate users' mailboxes are likely to
       need alternatives to qmail-verify or a modified version of it for address verification.

INVOCATION

       qmail-verify should be invoked as user root to have sufficient privileges to determine the validity of  a
       given  address. In certain single-UID virtual domains setups, it may be sufficient to run qmail-verify as
       the single-UID.

       By default, qmail-verify listens on localhost (127.0.0.1) on port 11113. This behaviour can be changed by
       setting the environment variable LISTEN to specify the IP address and/or port: Set this to the desired IP
       address, optionally followed by a colon and port, thus for example LISTEN="192.168.1.1:10101".

ADDRESS VERIFICATION DETAILS

       qmail-verify is implemented by taking the various pieces of qmail that parse  an  address  and  combining
       them  in  the  same  executable, qmail-verify.  Thus logic is taken from qmail-send, qmail-lspawn, qmail-
       getpw and qmail-local.

UDP PACKET DETAILS

       The incoming packet contains just the email address to be checked as a string. The string  is  optionally
       terminated with a 0 byte.

       The response packet contains a single byte to indicate whether the address is valid. The lowest-order bit
       of  this  byte indicates the result: 0 for 'valid', 1 for 'invalid'. Other bits of this response byte are
       set by qmail-verify to  give  further  debugging  information;  these  other  bits  should  generally  be
       disregarded.

       Although  not  especially  designed as a new protocol, extensions to qmail-verify could require the query
       string to be 0 terminated to separate it from  other  data  to  follow.  Currently  the  response  packet
       contains  the response byte and the 'Controlling user'; more information could potentially be returned if
       required.

CONTROL FILES

       At startup qmail-verify reads the following qmail  control  files:  control/envnoathost,  control/locals,
       control/percenthack,  control/virtualdomains.   If  changes  are made to any of these files, qmail-verify
       should be restarted for the changes to take effect in qmail-verify.

       If you are using different machines for qmail-verify and qmail-smtpd you should ensure that  the  machine
       providing  the qmail-verify service has a full set of control files as well as the mailboxes; the machine
       running qmail-smtpd still needs control/rcpthosts to be setup.

LOGGING

       qmail-verify logs each decision it makes to stderr: The address followed by whether it's valid or not.

AUTHOR

       Andrew Richards, building on the work of Paul Jarc and Dan Bernstein, and with plenty of help  along  the
       way from Russell Nelson, John Levine and Charles Cazabon amongst others.

SEE ALSO

       qmail-smtpd(8).

28th August 2009                                 Andrew Richards                                 qmail-verify(8)