Provided by: postal_0.76+nmu2_amd64 bug

NAME

       postal - program to test SMTP mail server throughput.

SYNOPSIS

       postal  [-m maximum-message-size] [-M minimum-message-size] [-t threads] [-c messages-per-connection] [-r
       messages-per-minute]  [-s  ssl-percentage]  [-L]  [-l  local-address]  [-a]  [-b  [no]netscape]   [-[z|Z]
       debug-file] [-f sender-file] smtp-server user-list-filename

DESCRIPTION

       This manual page documents briefly the postal program.

       It  is designed to test the performance of SMTP email servers by sending random messages to the specified
       server as fast as possible.

       The smtp-server parameter specifies the IP address or name of the mail server that the mail is to be sent
       to.  Mail sent by Postal will not use MX records, this is to allow testing outbound relays etc.   If  you
       want  to  specify a port other than port 25 then enclose the host address in square brackets and have the
       port address immediately following.  If  you  want  a  DNS  lookup  for  every  connection  (for  testing
       round-robin  DNS)  then  immediately  precede the host address with a '+' character.  To specify multiple
       servers for round-robin use then separate the addresses with commas.  Note that  localhost  is  used  for
       connecting to the same machine.

       The  user-list-filename  is the name of a file which contains a list of user's email addresses.  This can
       be just user-names or fully qualified email addresses.  Whatever you specify will be sent exactly in  the
       SMTP  protocol so make sure you do whatever is appropriate.  If unsure then use fully qualified addresses
       (IE user@example.com).

       The sender-file contains a list of users that will be in the From:  field  and  envelope  sender  of  the
       messages.  If it is not specified then the user-list-filename will be used for the sender list.

       The  maximum-message-size  indicates  the  size in Kilobytes that will be the maximum size of the message
       body.  The size of each message body will be a random number between 0 and the maximum size.  Specify "0"
       if you want just headers to test the connection rate.  The default value is 10.

       The threads parameter is the number of threads that should be created to attempt separate connections.  A
       well configured mail server won't accept an unlimited number  of  connections  so  make  sure  you  don't
       specify  a  number  larger  than  the number your mail server is configured to handle.  Also for sensible
       results make sure that you don't use  enough  to  make  your  server  thrash  as  the  results  won't  be
       representative  of  real-world use.  The default value is 1, this default is not suitable for real tests,
       it's just for testing your configuration.  If you specify multiple server addresses for  round-robin  use
       then this number of threads will be created per server, IE 4 servers and -p5 will give 20 threads total.

       The  messages-per-connection  parameter  is  for  sending more than one message per SMTP connection.  The
       default value is "1".  A value of -1 means to send an indefinite number of messages on one connection (~4
       billion).  If a value > 1 is specified then the number sent on each connection is a random number between
       1 and the number specified.  For simulating a mail server connected directly to the net use a value of  2
       or  3.   For simulating a mail server connected to a front-end relay use a large number.  For testing for
       bugs in your mail server use the value 0 and leave it running for a week.  ;)  A  value  of  0  means  to
       disconnect without sending any messages.  Good for testing a LocalDirector.

       The max-messages-per-minute parameter is for limiting the throughput of the program.  This is designed to
       be  used  when  you  want  to  test the performance of other programs when the system is under load.  The
       default is effectively 24000 messages per minute.

       The local-address parameter  specifies  which  local  IP  address(es)  are  used  to  make  the  outbound
       connections.   Specified  in the same way as the remote address.  This is good for testing LocalDirectors
       or other devices that perform differently depending on which source IP address was used.

       The -L command specifies that LMTP is to be used instead of SMTP.

       The -a command turns on all logging.  All message data received will be logged.  This will make  it  slow
       and it may not be able to saturate a fast Ethernet link...

       The  -b  switch  allows  you to specify breakage strings.  Currently the only option is for Netscape mail
       server which strips spaces from the start of subject lines.  -b netscape means to avoid leading spaces on
       subject fields to not break Netscape.  -b nonetscape means to always put extra space to test for the  bug
       in  Netscape  and  similar  products.   Some  people say that the RFCs are open to interpretation on this
       issue, I am interested to see whether anyone else interprets it the way that Netscape does.

       The -s switch specifies the percentage of connections which are to use TLS AKA SSL.  Use 0 for no SSL, or
       100 for always SSL, or any number in between.  Default is 0.

       The -z switch allows you to specify a debugging file base.  From this base one file is created  for  each
       thread  (with  a  ':'  and the thread number appended), each file is used to log all IO performed by that
       thread for debugging purposes.

       The -Z switch is the same but creates a separate file for each connection as well with an additional  ':'
       appended followed by the connection number.

NOTES

       When  testing  mail  servers  please  use  domains defined in http://www.rfc-editor.org/rfc/rfc2606.txt -
       example.com, example.net, and example.org
        are all good options.  Please don't use anything related to a valid name, since that will cause pain for
       you and others on the net.

RETURN CODES

       0      No Error

       1      Bad Parameters

       2      System Error, lack of memory or some other resource

AUTHOR

       This  program,  it's  manual  page,  and   the   Debian   package   were   written   by   Russell   Coker
       <russell@coker.com.au>.

AVAILABILITY

       The source is available from http://doc.coker.com.au/projects/postal/ .

       See http://etbe.coker.com.au/category/benchmark for further information.

SEE ALSO

       bhm(8),postal-list(8),rabid(8)

russell@coker.com.au                                  0.70                                             postal(8)