SUBMIT(8) | Double Precision, Inc. | SUBMIT(8) |
NAME¶
submit - Submit a new message to the Courier mail serverSYNOPSIS¶
/usr/bin/submit [-expn=address]
[-vrfy=address] [-vhost= address] [-bcc] [-delay=n]
{module} {" type; hostid"}
DESCRIPTION¶
The submit program submits messages to the Courier mail server for processing. The submit program is not intended to be invoked by the end user. It is used by the Courier mail server input modules only. The submit program's global read and execute permissions are turned off, so that it can only be executed by a process that's a member of the daemon group. submit is installed in the /usr/lib/courier/courier directory. submit always takes two command line arguments after any options: moduleThis argument identifies the module that's running the
submit command. It must be one of the module names that the Courier
mail server knows about, such as local, or esmtp. This argument determines
address rewriting rules.
" type; hostid"
This single argument identifies the source of the
message, and must be suitable for the Remote-MTA: header in delivery status
notifications, as specified by RFC 1894. For messages that are received via
ESMTP, this argument is typically "dns; helohost (hostname
[ip.address])".
The submit program takes the following options:
-expn= address
Do not accept a message, instead "expand" the
given address. If the specified address matches a locally-defined alias,
submit prints the addresses this address expands to. If the specified
address does not match a locally-defined alias, the address is displayed by
itself.
-vrfy= address
Do not accept a message, instead verify the given
address. submit prints a suitable message and sets the exit code to
indicate whether the specified address is valid, or not. If the address
matches a local alias, submit will indicate a valid address, and exit.
If the address does not match a local alias, submit checks if this
address is deliverable by any output protocol module. If so, submit
will indicate a valid address, and exit. Otherwise, submit prints a
"User unknown" error message, and exits.
-bcc
If no recipients are given, obtain the list of recipients
from Bcc: headers only. Normally, if no recipients are specified,
submit reads the list of recipients from the To:, Cc: and Bcc: headers
(Bcc: headers are always removed). The -bcc option ignores To: and Cc: headers
for this purpose. This option is ignored if an explicit recipient list is
specified (see below).
-delay= n
Wait n seconds before delivering the message. If
not specified, delivery begins after waiting the amount of time specified by
the /etc/courier/submitdelay configuration time (default: 0 seconds --
immediate delivery).
-vhost= address
Append “. address” to names of all
configuration files Courier reads while processing this message.
RESPONSES FROM SUBMIT¶
All replies from submit follow the format of SMTP responses, as defined in RFC822. To summarize: the responses are one or more lines long. Every line in the response instead of the last one consists of a three-digit numerical code, a dash, then arbitrary text. The last line (or the only line of the response) starts with a three-digit numerical code, a single space, and arbitrary text. The first digit of the numerical code indicates whether the response indicates success, or failure. If the first digit is 5, the response indicates a permanent failure. If the first digit is 4, the response indicates a temporary failure (the message or the address should be resubmitted later). If the first digit is not 4 or 5, the response indicates success, or acceptance.MESSAGE SUBMISSION¶
Unless either -expn or -vrfy option is specified, submit reads the message envelope and contents from standard input, as follows. All input and output to submit consists of newline-terminated (NOT carriage return/newline terminated) lines of text. submit reads the first line of text, which specifies the envelope sender address. The line is formatted as follows:address<tab>format<tab>envid
address<tab>dsn<tab>orecipient
ADDRESS REWRITING¶
Each recipient address (whether specified explicitly, or obtained from the message headers), will be rewritten according to the rewriting rules specified by the input module. Each address in the headers of the message will also be rewritten. After rewriting each recipient address, submit will search the aliases.dat file for this address, to see if it represents a locally defined alias. Submit searches /usr/lib/courier/courier/modules/ module/aliases.dat and /etc/courier/aliases.dat (actual locations may be changed by the system administrator). If the address is found, the recipient address will be replaced by the addresses defined in the aliases.dat file.ENVIRONMENT VARIABLES¶
submit also reads the following environment variables to further specify how the message is to be processed: BLOCKIf this variable is set to a non-empty value, submit will
reject every recipient (in effect, rejecting the message). The contents of the
environment variable will be used as the error message.
DSNENVID
If envid is not specified, or is blank, and this
environment variable is defined, the contents of this variable is used as the
original envelope id field for DSNs. Note that DSNENVID is copied verbatim
into the Original-Envelope-Id field (if the message is relayed to another MTA,
the Courier mail server automatically xtext-encodes it).
DSNNOTIFY
If the dsn field for a recipient is empty, the contents
of this environment variable is used in its place. Also, if the recipient list
is read from the headers, the contents of this environment variable are used
to set the dsn setting.
DSNRET
If the format field for this message is empty, the
contents of this environment variable is used in its place.
NOADDDATE
Normally the Courier mail server adds a Date: header to
the message, if it does not have one. If this environment variable is set, the
Courier mail server will not add a Date: header.
NOADDMSGID
Normally the Courier mail server adds a Message-Id:
header to the message, if it does not have it. If this environment variable is
set, the Courier mail server will not add a Message-Id: header.
NOADDRREWRITE
Normally the Courier mail server rewrites addresses in
the From:, To:, and Cc: header fields. If this environment variable is set to
1, the Courier mail server will not rewrite them. If it is set to a higher
value, the Courier mail server will only rewrite it if no DKIM-Signature:
header field was found.
MIME
Normally the Courier mail server adds any missing RFC2045
headers to the message. The MIME environment variable can be set to the
following values: none - do not do any RFC2045 processing whatsoever; 7bit -
if the message contains any 8-bit text, convert it to quoted-printable
encoding; 8bit -if the message contains any quoted-printable encoded text that
can be representing as 8bit-encoded text, then convert it to 8bit
encoding.
SEE ALSO¶
courierpop3d(8)[1], couriertcpd(8)[2], authlib(7)[3].AUTHOR¶
Sam VarshavchikAuthor
NOTES¶
[set
$man.base.url.for.relative.links]/courierpop3d.html
- 2.
- couriertcpd(8)
[set
$man.base.url.for.relative.links]/couriertcpd.html
- 3.
- authlib(7)
[set $man.base.url.for.relative.links]/authlib.html
08/25/2013 | Courier Mail Server |