Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  QMAIL-QUEUE (8)


qmail-queue - queue a mail message for delivery






qmail-queue reads a mail message from descriptor 0. It then reads envelope information from descriptor 1. It places the message into the outgoing queue for future delivery by qmail-send.

The envelope information is an envelope sender address followed by a list of envelope recipient addresses. The sender address is preceded by the letter F and terminated by a 0 byte. Each recipient address is preceded by the letter T and terminated by a 0 byte. The list of recipient addresses is terminated by an extra 0 byte. If qmail-queue sees end-of-file before the extra 0 byte, it aborts without placing the message into the queue.

Every envelope recipient address should contain a username, an @ sign, and a fully qualified domain name.

qmail-queue always adds a Received line to the top of the message. Other than this, qmail-queue does not inspect the message and does not enforce any restrictions on its contents. However, the recipients probably expect to see a proper header, as described in qmail-header(5) .

Programs included with qmail which invoke qmail-queue will invoke the contents of QMAILQUEUE instead, if that environment variable is set.


qmail-queue imposes two constraints on the queue structure: each mess subdirectory must be in the same filesystem as the pid directory; and each todo subdirectory must be in the same filesystem as the intd directory.


qmail-queue does not print diagnostics. It exits 0 if it has successfully queued the message. It exits between 1 and 99 if it has failed to queue the message.

All qmail-queue error codes between 11 and 40 indicate permanent errors:
11 Address too long.
31 Mail server permanently refuses to send the message to any recipients. (Not used by qmail-queue),
32 Mail server does not accept the message. (The message includes an identified virus.)
33 Mail server does not accept the message. (The message is identified as spam.)
34 Mail server does not accept the message. (The message carries an invalid MIME attachment.)
All other qmail-queue error codes indicate temporary errors:
51 Out of memory.
52 Timeout.
53 Write error; e.g., disk full.
54 Unable to read the message or envelope.
55 Unable to read a configuration file. The virus scanner called via the QHPSI returned with return code other then 0 or QHPSIRC.
56 Problem making a network connection from this host. (Not used by qmail-queue.)
61 Problem with the qmail home directory.
62 Problem with the queue directory.
63 Problem with queue/pid.
64 Problem with queue/mess.
65 Problem with queue/intd.
66 Problem with queue/todo.
71 Mail server temporarily refuses to send the message to any recipients. (Not used by qmail-queue.)
72 Connection to mail server timed out. (Not used by qmail-queue.)
73 Connection to mail server rejected. (Not used by qmail-queue.)
74 Connection to mail server succeeded, but communication failed. (Not used by qmail-queue.)
81 Internal bug; e.g., segmentation fault.
91 Envelope format error.


The Qmail High Performance Scanner interface QHPSI allows qmail-queue to read up to seven arguments taken from the environment to be used as a call-interface for an external virus scanner:
QHPSI is set to the file name of the virus scanner, ie. QHPSI=’/usr/local/bin/clamscan’. The path can be omitted, if the virus scanner is in the default path.
  Optional additional arguments can be included here, ie. QHPSIARG1="--verbose". Useful to suppress output in case an email is clean and to enable mailbox support for the virus scanner.
  To specify the return code of the virus scanner in case of an infection; default is 1.
  The minimal size of the message to invoke the virus scanner; default is 0. A typical choice would be QHPSIMISIZE=10000 (~10k).
  The maximal size of the message to invoke the virus scanner; default is unrestricted. A typical choice would be QHPPIMAXSIZE=1000000 (~1M).


addresses(5), envelopes(5), qmail-header(5), qmail-inject(8), qmail-qmqpc(8), qmail-send(8), qmail-smtpd(8)
Search for    or go to Top of page |  Section 8 |  Main Index


Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.