xref: /netbsd-src/external/ibm-public/postfix/dist/html/smtp-sink.1.html (revision d25ffa98a4bfca1fe272f3c182496ec9934faac7)
1<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
2        "http://www.w3.org/TR/html4/loose.dtd">
3<html> <head>
4<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
5<title> Postfix manual - smtp-sink(1) </title>
6</head> <body> <pre>
7SMTP-SINK(1)                                                      SMTP-SINK(1)
8
9<b>NAME</b>
10       smtp-sink - multi-threaded SMTP/LMTP test server
11
12<b>SYNOPSIS</b>
13       <b>smtp-sink</b> [<i>options</i>] [<b>inet:</b>][<i>host</i>]:<i>port backlog</i>
14
15       <b>smtp-sink</b> [<i>options</i>] <b>unix:</b><i>pathname backlog</i>
16
17<b>DESCRIPTION</b>
18       <b>smtp-sink</b> listens on the named host (or address) and port.
19       It takes SMTP messages from the network  and  throws  them
20       away.   The  purpose is to measure client performance, not
21       protocol compliance.
22
23       <b>smtp-sink</b> may also be  configured  to  capture  each  mail
24       delivery  transaction  to  file.  Since disk latencies are
25       large compared to network delays, this mode  of  operation
26       can  reduce  the  maximal performance by several orders of
27       magnitude.
28
29       Connections can be accepted on IPv4 or IPv6 endpoints,  or
30       on  UNIX-domain  sockets.   IPv4 and IPv6 are the default.
31       This program is the complement of the <a href="smtp-source.1.html"><b>smtp-source</b>(1)</a>  pro-
32       gram.
33
34       Note:  this  is an unsupported test program. No attempt is
35       made to maintain  compatibility  between  successive  ver-
36       sions.
37
38       Arguments:
39
40       <b>-4</b>     Support  IPv4  only. This option has no effect when
41              Postfix is built without IPv6 support.
42
43       <b>-6</b>     Support IPv6 only. This  option  is  not  available
44              when Postfix is built without IPv6 support.
45
46       <b>-8</b>     Do not announce 8BITMIME support.
47
48       <b>-a</b>     Do not announce SASL authentication support.
49
50       <b>-A</b> <i>delay</i>
51              Wait  <i>delay</i>  seconds after responding to DATA, then
52              abort prematurely with a 550 reply status.  Do  not
53              read  further  input  from  the  client; this is an
54              attempt to block the client before  it  sends  ".".
55              Specify a zero delay value to abort immediately.
56
57       <b>-b</b> <i>soft-bounce-reply</i>
58              Use  <i>soft-bounce-reply</i>  for  soft reject responses.
59              The default reply  is  "450  4.3.0  Error:  command
60              failed".
61
62       <b>-B</b> <i>hard-bounce-reply</i>
63              Use  <i>hard-bounce-reply</i>  for  hard reject responses.
64              The default reply  is  "500  5.3.0  Error:  command
65              failed".
66
67       <b>-c</b>     Display  running counters that are updated whenever
68              an SMTP session ends, a QUIT command  is  executed,
69              or when "." is received.
70
71       <b>-C</b>     Disable XCLIENT support.
72
73       <b>-d</b> <i>dump-template</i>
74              Dump each mail transaction to a single-message file
75              whose name is created by  expanding  the  <i>dump-tem-</i>
76              <i>plate</i> via strftime(3) and appending a pseudo-random
77              hexadecimal number (example: "%Y%m%d%H/%M." expands
78              into  "2006081203/05.809a62e3").   If  the template
79              contains "/" characters,  missing  directories  are
80              created  automatically.  The message dump format is
81              described below.
82
83              Note: this option keeps one capture file  open  for
84              every mail transaction in progress.
85
86       <b>-D</b> <i>dump-template</i>
87              Append  mail  transactions  to a multi-message dump
88              file whose name is created by expanding  the  <i>dump-</i>
89              <i>template</i> via strftime(3).  If the template contains
90              "/" characters,  missing  directories  are  created
91              automatically.    The   message   dump   format  is
92              described below.
93
94              Note: this option keeps one capture file  open  for
95              every mail transaction in progress.
96
97       <b>-e</b>     Do not announce ESMTP support.
98
99       <b>-E</b>     Do not announce ENHANCEDSTATUSCODES support.
100
101       <b>-f</b> <i>command,command,...</i>
102              Reject  the  specified  commands  with a hard (5xx)
103              error code.  This option implies <b>-p</b>.
104
105              Examples of commands are CONNECT, HELO, EHLO, LHLO,
106              MAIL,  RCPT,  VRFY,  DATA, ., RSET, NOOP, and QUIT.
107              Separate command names by white  space  or  commas,
108              and  use  quotes  to  protect  white space from the
109              shell. Command names are case-insensitive.
110
111       <b>-F</b>     Disable XFORWARD support.
112
113       <b>-h</b> <i>hostname</i>
114              Use <i>hostname</i> in the  SMTP  greeting,  in  the  HELO
115              response,  and  in  the  EHLO response. The default
116              hostname is "smtp-sink".
117
118       <b>-L</b>     Enable LMTP instead of SMTP.
119
120       <b>-m</b> <i>count</i> (default: 256)
121              An upper bound on the maximal number of  simultane-
122              ous  connections  that  <b>smtp-sink</b> will handle. This
123              prevents the  process  from  running  out  of  file
124              descriptors. Excess connections will stay queued in
125              the TCP/IP stack.
126
127       <b>-M</b> <i>count</i>
128              Terminate after receiving <i>count</i> messages.
129
130       <b>-n</b> <i>count</i>
131              Terminate after <i>count</i> sessions.
132
133       <b>-p</b>     Do not announce support for ESMTP command  pipelin-
134              ing.
135
136       <b>-P</b>     Change  the  server  greeting so that it appears to
137              come through a CISCO PIX system. Implies <b>-e</b>.
138
139       <b>-q</b> <i>command,command,...</i>
140              Disconnect (without replying) after  receiving  one
141              of the specified commands.
142
143              Examples of commands are CONNECT, HELO, EHLO, LHLO,
144              MAIL, RCPT, VRFY, DATA, ., RSET,  NOOP,  and  QUIT.
145              Separate  command  names  by white space or commas,
146              and use quotes to  protect  white  space  from  the
147              shell. Command names are case-insensitive.
148
149       <b>-Q</b> <i>command,command,...</i>
150              Send a 421 reply and disconnect after receiving one
151              of the specified commands.
152
153              Examples of commands are CONNECT, HELO, EHLO, LHLO,
154              MAIL,  RCPT,  VRFY,  DATA, ., RSET, NOOP, and QUIT.
155              Separate command names by white  space  or  commas,
156              and  use  quotes  to  protect  white space from the
157              shell. Command names are case-insensitive.
158
159       <b>-r</b> <i>command,command,...</i>
160              Reject the specified commands  with  a  soft  (4xx)
161              error code.  This option implies <b>-p</b>.
162
163              Examples of commands are CONNECT, HELO, EHLO, LHLO,
164              MAIL, RCPT, VRFY, DATA, ., RSET,  NOOP,  and  QUIT.
165              Separate  command  names  by white space or commas,
166              and use quotes to  protect  white  space  from  the
167              shell. Command names are case-insensitive.
168
169       <b>-R</b> <i>root-directory</i>
170              Change  the process root directory to the specified
171              location.  This option requires  super-user  privi-
172              leges. See also the <b>-u</b> option.
173
174       <b>-s</b> <i>command,command,...</i>
175              Log the named commands to syslogd.
176
177              Examples of commands are CONNECT, HELO, EHLO, LHLO,
178              MAIL, RCPT, VRFY, DATA, ., RSET,  NOOP,  and  QUIT.
179              Separate  command  names  by white space or commas,
180              and use quotes to  protect  white  space  from  the
181              shell. Command names are case-insensitive.
182
183       <b>-S start-string</b>
184              An  optional  string that is prepended to each mes-
185              sage that is written to a dump file (see  the  dump
186              file  format  description  below).  The following C
187              escape  sequences  are  supported:  \a  (bell),  \b
188              (backslace),  \f (formfeed), \n (newline), \r (car-
189              riage return), \t (horizontal  tab),  \v  (vertical
190              tab),  \<i>ddd</i>  (up to three octal digits) and \\ (the
191              backslash character).
192
193       <b>-t</b> <i>timeout</i> (default: 100)
194              Limit the time for receiving a command or sending a
195              response.   The time limit is specified in seconds.
196
197       <b>-T</b> <i>windowsize</i>
198              Override the  default  TCP  window  size.  To  work
199              around  broken  TCP window scaling implementations,
200              specify a value &gt; 0 and &lt; 65536.
201
202       <b>-u</b> <i>username</i>
203              Switch to the specified user privileges after open-
204              ing  the network socket and optionally changing the
205              process root directory.  This  option  is  required
206              when  the  process runs with super-user privileges.
207              See also the <b>-R</b> option.
208
209       <b>-v</b>     Show the SMTP conversations.
210
211       <b>-w</b> <i>delay</i>
212              Wait <i>delay</i> seconds before responding to a DATA com-
213              mand.
214
215       <b>-W</b> <i>command:delay[:odds]</i>
216              Wait  <i>delay</i>  seconds  before responding to <i>command</i>.
217              If <i>odds</i> is also specified (a  number  between  1-99
218              inclusive),  wait  for  a random multiple of <i>delay</i>.
219              The random multiplier is equal  to  the  number  of
220              times the program needs to roll a dice with a range
221              of 0..99 inclusive,  before  the  dice  produces  a
222              result greater than or equal to <i>odds</i>.
223
224       [<b>inet:</b>][<i>host</i>]:<i>port</i>
225              Listen  on  network  interface  <i>host</i>  (default: any
226              interface) TCP port <i>port</i>. Both <i>host</i> and <i>port</i> may be
227              specified in numeric or symbolic form.
228
229       <b>unix:</b><i>pathname</i>
230              Listen on the UNIX-domain socket at <i>pathname</i>.
231
232       <i>backlog</i>
233              The  maximum  length  the  queue of pending connec-
234              tions, as defined by the <b>listen</b>(2) system call.
235
236<b>DUMP FILE FORMAT</b>
237       Each dumped message contains a  sequence  of  text  lines,
238       terminated  with  the  newline  character. The sequence of
239       information is as follows:
240
241       <b>o</b>      The optional string specified with the <b>-S</b> option.
242
243       <b>o</b>      The  <b>smtp-sink</b>  generated  headers  as   documented
244              below.
245
246       <b>o</b>      The  message  header  and body as received from the
247              SMTP client.
248
249       <b>o</b>      An empty line.
250
251       The format of the <b>smtp-sink</b> generated headers is  as  fol-
252       lows:
253
254       <b>X-Client-Addr:</b> <i>text</i>
255              The client IP address without enclosing []. An IPv6
256              address is prefixed with "ipv6:".  This  record  is
257              always present.
258
259       <b>X-Client-Proto:</b> <i>text</i>
260              The  client  protocol:  SMTP,  ESMTP  or LMTP. This
261              record is always present.
262
263       <b>X-Helo-Args:</b> <i>text</i>
264              The arguments of the  last  HELO  or  EHLO  command
265              before  this mail delivery transaction. This record
266              is present only if the client sent  a  recognizable
267              HELO or EHLO command before the DATA command.
268
269       <b>X-Mail-Args:</b> <i>text</i>
270              The arguments of the MAIL command that started this
271              mail delivery transaction. This record  is  present
272              exactly once.
273
274       <b>X-Rcpt-Args:</b> <i>text</i>
275              The  arguments  of an RCPT command within this mail
276              delivery transaction. There is one record for  each
277              RCPT  command, and they are in the order as sent by
278              the client.
279
280       <b>Received:</b> <i>text</i>
281              A message header for compatibility with  mail  pro-
282              cessing  software. This three-line header marks the
283              end of the headers provided by  <b>smtp-sink</b>,  and  is
284              formatted as follows:
285
286              <b>from</b> <i>helo</i> <b>([</b><i>addr</i><b>])</b>
287                     The HELO or EHLO command argument and client
288                     IP address.  If the client did not send HELO
289                     or  EHLO,  the  client  IP  address  is used
290                     instead.
291
292              <b>by</b> <i>host</i> <b>(smtp-sink) with</b> <i>proto</i> <b>id</b> <i>random</i><b>;</b>
293                     The hostname specified with the  <b>-h</b>  option,
294                     the   client  protocol  (see  <b>X-Client-Proto</b>
295                     above), and the pseudo-random portion of the
296                     per-message capture file name.
297
298              <i>time-stamp</i>
299                     A time stamp as defined in <a href="http://tools.ietf.org/html/rfc2822">RFC 2822</a>.
300
301<b>SEE ALSO</b>
302       <a href="smtp-source.1.html">smtp-source(1)</a>, SMTP/LMTP message generator
303
304<b>LICENSE</b>
305       The  Secure  Mailer  license must be distributed with this
306       software.
307
308<b>AUTHOR(S)</b>
309       Wietse Venema
310       IBM T.J. Watson Research
311       P.O. Box 704
312       Yorktown Heights, NY 10598, USA
313
314                                                                  SMTP-SINK(1)
315</pre> </body> </html>
316