## NAME

smtp-source - multi-threaded SMTP/LMTP test generator

## SYNOPSIS

smtp-source [options] [inet:]host[:port]

smtp-source [options] unix:pathname

## DESCRIPTION

smtp-source connects to the named host and TCP port (default: port 25) and sends one or more messages to it, either sequentially or in parallel. The program speaks either SMTP (default) or LMTP. Connections can be made to UNIX-domain and IPv4 or IPv6 servers. IPv4 and IPv6 are the default.

Note: this is an unsupported test program. No attempt is made to maintain compatibility between successive versions.

Arguments:

\fB-4\fR

Connect to the server with IPv4. This option has no effect when Postfix is built without IPv6 support.

\fB-6\fR

Connect to the server with IPv6. This option is not available when Postfix is built without IPv6 support.

\fB-A\fR

Don't abort when the server sends something other than the expected positive reply code.

\fB-c\fR

Display a running counter that is incremented each time an SMTP DATA command completes.

\fB-C \fIcount\fR

When a host sends RESET instead of SYN|ACK, try count times before giving up. The default count is 1. Specify a larger count in order to work around a problem with TCP/IP stacks that send RESET when the listen queue is full.

\fB-d\fR

Don't disconnect after sending a message; send the next message over the same connection.

\fB-f \fIfrom\fR

Use the specified sender address (default: <foo@myhostname>).

\fB-F \fIfile\fR

Send the pre-formatted message header and body in the specified file, while prepending '.' before lines that begin with '.', and while appending CRLF after each line.

\fB-l \fIlength\fR

Send length bytes as message payload. The length does not include message headers.

\fB-L\fR

Speak LMTP rather than SMTP.

\fB-m \fImessage_count\fR

Send the specified number of messages (default: 1).

\fB-M \fImyhostname\fR

Use the specified hostname or [address] in the HELO command and in the default sender and recipient addresses, instead of the machine hostname.

\fB-N\fR

Prepend a non-repeating sequence number to each recipient address. This avoids the artificial 100% hit rate in the resolve and rewrite client caches and exercises the trivial-rewrite daemon, better approximating Postfix performance under real-life work-loads.

\fB-o\fR

Old mode: don't send HELO, and don't send message headers.

\fB-r \fIrecipient_count\fR

Send the specified number of recipients per transaction (default: 1). Recipient names are generated by prepending a number to the recipient address.

\fB-R \fIinterval\fR

Wait for a random period of time 0 <= n <= interval between messages. Suspending one thread does not affect other delivery threads.

\fB-s \fIsession_count\fR

Run the specified number of SMTP sessions in parallel (default: 1).

\fB-S \fIsubject\fR

Send mail with the named subject line (default: none).

\fB-t \fIto\fR

Use the specified recipient address (default: <foo@myhostname>).

\fB-T \fIwindowsize\fR

Override the default TCP window size. To work around broken TCP window scaling implementations, specify a value > 0 and < 65536.

\fB-v\fR

Make the program more verbose, for debugging purposes.

\fB-w \fIinterval\fR

Wait a fixed time between messages. Suspending one thread does not affect other delivery threads.

[\fBinet:\fR]\fIhost\fR[:\fIport\fR]

Connect via TCP to host host, port port. The default port is smtp.

\fBunix:\fIpathname\fR

Connect to the UNIX-domain socket at pathname.

## BUGS

No SMTP command pipelining support.

## SEE ALSO

    smtp-sink(1), SMTP/LMTP message dump

## LICENSE

The Secure Mailer license must be distributed with this software.

## AUTHOR(S)

    Wietse Venema
    IBM T.J. Watson Research
    P.O. Box 704
    Yorktown Heights, NY 10598, USA