DOKK / manpages / debian 10 / qmail / qmail-command.8.en
qmail-command(8) System Manager's Manual qmail-command(8)

qmail-command - user-specified mail delivery program

in .qmailext: |command

qmail-local will, upon your request, feed each incoming mail message through a program of your choice.

When a mail message arrives, qmail-local runs sh -c command in your home directory. It makes the message available on command's standard input.

WARNING: The mail message does not begin with qmail-local's usual Return-Path and Delivered-To lines.

Note that qmail-local uses the same file descriptor for every delivery in your .qmail file, so it is not safe for command to fork a child that reads the message in the background while the parent exits.

command's exit codes are interpreted as follows: 0 means that the delivery was successful; 99 means that the delivery was successful, but that qmail-local should ignore all further delivery instructions; 100 means that the delivery failed permanently (hard error); 111 means that the delivery failed but should be tried again in a little while (soft error).

Currently 64, 65, 70, 76, 77, 78, and 112 are considered hard errors, and all other codes are considered soft errors, but command should avoid relying on this.

qmail-local supplies several useful environment variables to command. WARNING: These environment variables are not quoted. They may contain special characters. They are under the control of a possibly malicious remote user.

SENDER is the envelope sender address. NEWSENDER is the forwarding envelope sender address, as described in dot-qmail(5). RECIPIENT is the envelope recipient address, local@domain. USER is user. HOME is your home directory, homedir. HOST is the domain part of the recipient address. LOCAL is the local part. EXT is the address extension, ext.

HOST2 is the portion of HOST preceding the last dot; HOST3 is the portion of HOST preceding the second-to-last dot; HOST4 is the portion of HOST preceding the third-to-last dot.

EXT2 is the portion of EXT following the first dash; EXT3 is the portion following the second dash; EXT4 is the portion following the third dash. DEFAULT is the portion corresponding to the default part of the .qmail-... file name; DEFAULT is not set if the file name does not end with default.

DTLINE and RPLINE are the usual Delivered-To and Return-Path lines, including newlines. UFLINE is the UUCP-style From_ line that qmail-local adds to mbox-format files.

dot-qmail(5), envelopes(5), qmail-local(8)