    SMTP-SOURCE(1)                                                  SMTP-SOURCE(1)

    NAME
           smtp-source - parallelized 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  paral-
           lel. 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 main-
           tain compatibility between successive versions.

           Arguments:

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

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

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

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

           -C count
                  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.

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

           -f from
                  Use the specified sender address (default: <foo@my-hostname>).

           -F file
                  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.

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

           -L     Speak LMTP rather than SMTP.

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

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

           -N     Generate  each  recipient  address  by  appending  a  number  (a
                  per-process recipient counter) to the recipient  address  local-
                  part specified with the -t option.

                  Note:  to  use  the  number  as an address extension, specify an
                  explicit address delimiter at the end of  the  recipient  local-
                  part, as in "-t localpart+@domain" or "-t localpart+", where "+"
                  is a Postfix recipient address delimiter.

                  Benefits:

                  o      A non-constant recipient address  avoids  an  unrealistic
                         100% cache hit rate in clients of the Postfix trivial-re-
                         write service,  better  approximating  performance  under
                         real-life work-loads.

                  o      A  fixed recipient address local-part with a non-constant
                         address extension avoids the need to  configure  a  large
                         number  of  valid  recipient  addresses  in the receiving
                         Postfix server.

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

           -r recipient_count
                  Send  the  specified  number  of  recipients   per   transaction
                  (default:  1),  and  generate  recipient  addresses as described
                  under the -N option.

           -R interval
                  Wait a random time (0 <= n <= interval) between messages.   Sus-
                  pending one thread does not affect other delivery threads.

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

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

           -t to  Use the  specified  recipient  address  (default:  <foo@my-host-
                  name>).

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

           -v     Make the program more verbose, for debugging purposes.

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

           [inet:]host[:port]
                  Connect via TCP to host host, port port.  The  default  port  is
                  smtp.

           unix:pathname
                  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

           Wietse Venema
           Google, Inc.
           111 8th Avenue
           New York, NY 10011, USA

                                                                    SMTP-SOURCE(1)