316 lines
13 KiB
HTML
316 lines
13 KiB
HTML
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
<html> <head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
|
<title> Postfix manual - smtp-sink(1) </title>
|
|
</head> <body> <pre>
|
|
SMTP-SINK(1) SMTP-SINK(1)
|
|
|
|
<b>NAME</b>
|
|
smtp-sink - multi-threaded SMTP/LMTP test server
|
|
|
|
<b>SYNOPSIS</b>
|
|
<b>smtp-sink</b> [<i>options</i>] [<b>inet:</b>][<i>host</i>]:<i>port backlog</i>
|
|
|
|
<b>smtp-sink</b> [<i>options</i>] <b>unix:</b><i>pathname backlog</i>
|
|
|
|
<b>DESCRIPTION</b>
|
|
<b>smtp-sink</b> listens on the named host (or address) and port.
|
|
It takes SMTP messages from the network and throws them
|
|
away. The purpose is to measure client performance, not
|
|
protocol compliance.
|
|
|
|
<b>smtp-sink</b> may also be configured to capture each mail
|
|
delivery transaction to file. Since disk latencies are
|
|
large compared to network delays, this mode of operation
|
|
can reduce the maximal performance by several orders of
|
|
magnitude.
|
|
|
|
Connections can be accepted on IPv4 or IPv6 endpoints, or
|
|
on UNIX-domain sockets. IPv4 and IPv6 are the default.
|
|
This program is the complement of the <a href="smtp-source.1.html"><b>smtp-source</b>(1)</a> pro-
|
|
gram.
|
|
|
|
Note: this is an unsupported test program. No attempt is
|
|
made to maintain compatibility between successive ver-
|
|
sions.
|
|
|
|
Arguments:
|
|
|
|
<b>-4</b> Support IPv4 only. This option has no effect when
|
|
Postfix is built without IPv6 support.
|
|
|
|
<b>-6</b> Support IPv6 only. This option is not available
|
|
when Postfix is built without IPv6 support.
|
|
|
|
<b>-8</b> Do not announce 8BITMIME support.
|
|
|
|
<b>-a</b> Do not announce SASL authentication support.
|
|
|
|
<b>-A</b> <i>delay</i>
|
|
Wait <i>delay</i> seconds after responding to DATA, then
|
|
abort prematurely with a 550 reply status. Do not
|
|
read further input from the client; this is an
|
|
attempt to block the client before it sends ".".
|
|
Specify a zero delay value to abort immediately.
|
|
|
|
<b>-b</b> <i>soft-bounce-reply</i>
|
|
Use <i>soft-bounce-reply</i> for soft reject responses.
|
|
The default reply is "450 4.3.0 Error: command
|
|
failed".
|
|
|
|
<b>-B</b> <i>hard-bounce-reply</i>
|
|
Use <i>hard-bounce-reply</i> for hard reject responses.
|
|
The default reply is "500 5.3.0 Error: command
|
|
failed".
|
|
|
|
<b>-c</b> Display running counters that are updated whenever
|
|
an SMTP session ends, a QUIT command is executed,
|
|
or when "." is received.
|
|
|
|
<b>-C</b> Disable XCLIENT support.
|
|
|
|
<b>-d</b> <i>dump-template</i>
|
|
Dump each mail transaction to a single-message file
|
|
whose name is created by expanding the <i>dump-tem-</i>
|
|
<i>plate</i> via strftime(3) and appending a pseudo-random
|
|
hexadecimal number (example: "%Y%m%d%H/%M." expands
|
|
into "2006081203/05.809a62e3"). If the template
|
|
contains "/" characters, missing directories are
|
|
created automatically. The message dump format is
|
|
described below.
|
|
|
|
Note: this option keeps one capture file open for
|
|
every mail transaction in progress.
|
|
|
|
<b>-D</b> <i>dump-template</i>
|
|
Append mail transactions to a multi-message dump
|
|
file whose name is created by expanding the <i>dump-</i>
|
|
<i>template</i> via strftime(3). If the template contains
|
|
"/" characters, missing directories are created
|
|
automatically. The message dump format is
|
|
described below.
|
|
|
|
Note: this option keeps one capture file open for
|
|
every mail transaction in progress.
|
|
|
|
<b>-e</b> Do not announce ESMTP support.
|
|
|
|
<b>-E</b> Do not announce ENHANCEDSTATUSCODES support.
|
|
|
|
<b>-f</b> <i>command,command,...</i>
|
|
Reject the specified commands with a hard (5xx)
|
|
error code. This option implies <b>-p</b>.
|
|
|
|
Examples of commands are CONNECT, HELO, EHLO, LHLO,
|
|
MAIL, RCPT, VRFY, DATA, ., RSET, NOOP, and QUIT.
|
|
Separate command names by white space or commas,
|
|
and use quotes to protect white space from the
|
|
shell. Command names are case-insensitive.
|
|
|
|
<b>-F</b> Disable XFORWARD support.
|
|
|
|
<b>-h</b> <i>hostname</i>
|
|
Use <i>hostname</i> in the SMTP greeting, in the HELO
|
|
response, and in the EHLO response. The default
|
|
hostname is "smtp-sink".
|
|
|
|
<b>-L</b> Enable LMTP instead of SMTP.
|
|
|
|
<b>-m</b> <i>count</i> (default: 256)
|
|
An upper bound on the maximal number of simultane-
|
|
ous connections that <b>smtp-sink</b> will handle. This
|
|
prevents the process from running out of file
|
|
descriptors. Excess connections will stay queued in
|
|
the TCP/IP stack.
|
|
|
|
<b>-M</b> <i>count</i>
|
|
Terminate after receiving <i>count</i> messages.
|
|
|
|
<b>-n</b> <i>count</i>
|
|
Terminate after <i>count</i> sessions.
|
|
|
|
<b>-p</b> Do not announce support for ESMTP command pipelin-
|
|
ing.
|
|
|
|
<b>-P</b> Change the server greeting so that it appears to
|
|
come through a CISCO PIX system. Implies <b>-e</b>.
|
|
|
|
<b>-q</b> <i>command,command,...</i>
|
|
Disconnect (without replying) after receiving one
|
|
of the specified commands.
|
|
|
|
Examples of commands are CONNECT, HELO, EHLO, LHLO,
|
|
MAIL, RCPT, VRFY, DATA, ., RSET, NOOP, and QUIT.
|
|
Separate command names by white space or commas,
|
|
and use quotes to protect white space from the
|
|
shell. Command names are case-insensitive.
|
|
|
|
<b>-Q</b> <i>command,command,...</i>
|
|
Send a 421 reply and disconnect after receiving one
|
|
of the specified commands.
|
|
|
|
Examples of commands are CONNECT, HELO, EHLO, LHLO,
|
|
MAIL, RCPT, VRFY, DATA, ., RSET, NOOP, and QUIT.
|
|
Separate command names by white space or commas,
|
|
and use quotes to protect white space from the
|
|
shell. Command names are case-insensitive.
|
|
|
|
<b>-r</b> <i>command,command,...</i>
|
|
Reject the specified commands with a soft (4xx)
|
|
error code. This option implies <b>-p</b>.
|
|
|
|
Examples of commands are CONNECT, HELO, EHLO, LHLO,
|
|
MAIL, RCPT, VRFY, DATA, ., RSET, NOOP, and QUIT.
|
|
Separate command names by white space or commas,
|
|
and use quotes to protect white space from the
|
|
shell. Command names are case-insensitive.
|
|
|
|
<b>-R</b> <i>root-directory</i>
|
|
Change the process root directory to the specified
|
|
location. This option requires super-user privi-
|
|
leges. See also the <b>-u</b> option.
|
|
|
|
<b>-s</b> <i>command,command,...</i>
|
|
Log the named commands to syslogd.
|
|
|
|
Examples of commands are CONNECT, HELO, EHLO, LHLO,
|
|
MAIL, RCPT, VRFY, DATA, ., RSET, NOOP, and QUIT.
|
|
Separate command names by white space or commas,
|
|
and use quotes to protect white space from the
|
|
shell. Command names are case-insensitive.
|
|
|
|
<b>-S start-string</b>
|
|
An optional string that is prepended to each mes-
|
|
sage that is written to a dump file (see the dump
|
|
file format description below). The following C
|
|
escape sequences are supported: \a (bell), \b
|
|
(backslace), \f (formfeed), \n (newline), \r (car-
|
|
riage return), \t (horizontal tab), \v (vertical
|
|
tab), \<i>ddd</i> (up to three octal digits) and \\ (the
|
|
backslash character).
|
|
|
|
<b>-t</b> <i>timeout</i> (default: 100)
|
|
Limit the time for receiving a command or sending a
|
|
response. The time limit is specified in seconds.
|
|
|
|
<b>-T</b> <i>windowsize</i>
|
|
Override the default TCP window size. To work
|
|
around broken TCP window scaling implementations,
|
|
specify a value > 0 and < 65536.
|
|
|
|
<b>-u</b> <i>username</i>
|
|
Switch to the specified user privileges after open-
|
|
ing the network socket and optionally changing the
|
|
process root directory. This option is required
|
|
when the process runs with super-user privileges.
|
|
See also the <b>-R</b> option.
|
|
|
|
<b>-v</b> Show the SMTP conversations.
|
|
|
|
<b>-w</b> <i>delay</i>
|
|
Wait <i>delay</i> seconds before responding to a DATA com-
|
|
mand.
|
|
|
|
<b>-W</b> <i>command:delay[:odds]</i>
|
|
Wait <i>delay</i> seconds before responding to <i>command</i>.
|
|
If <i>odds</i> is also specified (a number between 1-99
|
|
inclusive), wait for a random multiple of <i>delay</i>.
|
|
The random multiplier is equal to the number of
|
|
times the program needs to roll a dice with a range
|
|
of 0..99 inclusive, before the dice produces a
|
|
result greater than or equal to <i>odds</i>.
|
|
|
|
[<b>inet:</b>][<i>host</i>]:<i>port</i>
|
|
Listen on network interface <i>host</i> (default: any
|
|
interface) TCP port <i>port</i>. Both <i>host</i> and <i>port</i> may be
|
|
specified in numeric or symbolic form.
|
|
|
|
<b>unix:</b><i>pathname</i>
|
|
Listen on the UNIX-domain socket at <i>pathname</i>.
|
|
|
|
<i>backlog</i>
|
|
The maximum length the queue of pending connec-
|
|
tions, as defined by the <b>listen</b>(2) system call.
|
|
|
|
<b>DUMP FILE FORMAT</b>
|
|
Each dumped message contains a sequence of text lines,
|
|
terminated with the newline character. The sequence of
|
|
information is as follows:
|
|
|
|
<b>o</b> The optional string specified with the <b>-S</b> option.
|
|
|
|
<b>o</b> The <b>smtp-sink</b> generated headers as documented
|
|
below.
|
|
|
|
<b>o</b> The message header and body as received from the
|
|
SMTP client.
|
|
|
|
<b>o</b> An empty line.
|
|
|
|
The format of the <b>smtp-sink</b> generated headers is as fol-
|
|
lows:
|
|
|
|
<b>X-Client-Addr:</b> <i>text</i>
|
|
The client IP address without enclosing []. An IPv6
|
|
address is prefixed with "ipv6:". This record is
|
|
always present.
|
|
|
|
<b>X-Client-Proto:</b> <i>text</i>
|
|
The client protocol: SMTP, ESMTP or LMTP. This
|
|
record is always present.
|
|
|
|
<b>X-Helo-Args:</b> <i>text</i>
|
|
The arguments of the last HELO or EHLO command
|
|
before this mail delivery transaction. This record
|
|
is present only if the client sent a recognizable
|
|
HELO or EHLO command before the DATA command.
|
|
|
|
<b>X-Mail-Args:</b> <i>text</i>
|
|
The arguments of the MAIL command that started this
|
|
mail delivery transaction. This record is present
|
|
exactly once.
|
|
|
|
<b>X-Rcpt-Args:</b> <i>text</i>
|
|
The arguments of an RCPT command within this mail
|
|
delivery transaction. There is one record for each
|
|
RCPT command, and they are in the order as sent by
|
|
the client.
|
|
|
|
<b>Received:</b> <i>text</i>
|
|
A message header for compatibility with mail pro-
|
|
cessing software. This three-line header marks the
|
|
end of the headers provided by <b>smtp-sink</b>, and is
|
|
formatted as follows:
|
|
|
|
<b>from</b> <i>helo</i> <b>([</b><i>addr</i><b>])</b>
|
|
The HELO or EHLO command argument and client
|
|
IP address. If the client did not send HELO
|
|
or EHLO, the client IP address is used
|
|
instead.
|
|
|
|
<b>by</b> <i>host</i> <b>(smtp-sink) with</b> <i>proto</i> <b>id</b> <i>random</i><b>;</b>
|
|
The hostname specified with the <b>-h</b> option,
|
|
the client protocol (see <b>X-Client-Proto</b>
|
|
above), and the pseudo-random portion of the
|
|
per-message capture file name.
|
|
|
|
<i>time-stamp</i>
|
|
A time stamp as defined in <a href="http://tools.ietf.org/html/rfc2822">RFC 2822</a>.
|
|
|
|
<b>SEE ALSO</b>
|
|
<a href="smtp-source.1.html">smtp-source(1)</a>, SMTP/LMTP message generator
|
|
|
|
<b>LICENSE</b>
|
|
The Secure Mailer license must be distributed with this
|
|
software.
|
|
|
|
<b>AUTHOR(S)</b>
|
|
Wietse Venema
|
|
IBM T.J. Watson Research
|
|
P.O. Box 704
|
|
Yorktown Heights, NY 10598, USA
|
|
|
|
SMTP-SINK(1)
|
|
</pre> </body> </html>
|