Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
postal(8)			     Postal			       postal(8)

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  immedi-
     ately  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  de-
     fault  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  effec-
     tively 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  be-
     tween.  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  ap-
     pended),  each  file is used to log all IO performed by that thread for de-
     bugging 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-edi-
     tor.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 Rus-
     sell 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=postal&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help