1postal(8)                           Postal                           postal(8)
2
3
4

NAME

6       postal - program to test SMTP mail server throughput.
7
8

SYNOPSIS

10       postal [-m maximum-message-size] [-M minimum-message-size] [-t threads]
11       [-c messages-per-connection] [-r messages-per-minute] [-s  ssl-percent‐
12       age]  [-l local-address] [-a] [-b [no]netscape] [-[z|Z] debug-file] [-f
13       sender-file] smtp-server user-list-filename
14
15

DESCRIPTION

17       This manual page documents briefly the postal, program.
18
19       It is designed to test the performance of SMTP email servers by sending
20       random messages to the specified server as fast as possible.
21
22       The  smtp-server parameter specifies the IP address or name of the mail
23       server that the mail is to be sent to.  Mail sent by  Postal  will  not
24       use  MX  records, this is to allow testing outbound relays etc.  If you
25       want to specify a port other than port 25 then enclose the host address
26       in square brackets and have the port address immidiately following.  If
27       you want a DNS lookup for every  connection  (for  testing  round-robin
28       DNS)  then  immediately  preceed the host address with a '+' character.
29       To specify multiple servers  for  round-robin  use  then  seperate  the
30       addresses  with  commas.  Note that localhost is used for connecting to
31       the same machine.
32
33       The user-list-filename is the name of a file which contains a  list  of
34       user's email addresses.  This can be just user-names or fully qualified
35       email addresses.  Whatever you specify will be sent exactly in the SMTP
36       protocol  so  make sure you do whatever is appropriate.  If unsure then
37       use fully qualified addresses (IE user@example.com).
38
39       The sender-file contains a list of users that  will  be  in  the  From:
40       field and envelope sender of the messages.  If it is not specified then
41       the user-list-filename will be used for the sender list.
42
43       The maximum-message-size indicates the size in Kilobytes that  will  be
44       the  maximum  size  of the message body.  The size of each message body
45       will be a random number between 0 and the maximum size.  Specify "0" if
46       you  want  just headers to test the connection rate.  The default value
47       is 10.
48
49       The threads parameter is the number of threads that should  be  created
50       to  attempt  seperate connections.  A well configured mail server won't
51       accept an unlimited number of connections so make sure you don't  spec‐
52       ify  a  number larger than the number your mail server is configured to
53       handle.  Also for sensible results make sure that you don't use  enough
54       to  make  your  server thrash as the results won't be representative of
55       real-world use.  The default value is 1, this default is  not  suitable
56       for real tests, it's just for testing your configuration.  If you spec‐
57       ify multiple server addresses for round-robin use then this  number  of
58       threads  will  be created per server, IE 4 servers and -p5 will give 20
59       threads total.
60
61       The messages-per-connection parameter is for sending more than one mes‐
62       sage  per  SMTP  connection.   The default value is "1".  A value of -1
63       means to send an indefinate number of messages on  one  connection  (~4
64       billion).   If  a  value  > 1 is specified then the number sent on each
65       connection is a random number between 1 and the number specified.   For
66       simulating a mail server connected directly to the net use a value of 2
67       or 3.  For simulating a mail server connected to a front-end relay  use
68       a large number.  For testing for bugs in your mail server use the value
69       0 and leave it running for a week.  ;)  A value of 0 means  to  discon‐
70       nect without sending any messages.  Good for testing a LocalDirector.
71
72       The max-messages-per-minute parameter is for limiting the throughput of
73       the program.  This is designed to be used when you  want  to  test  the
74       performance  of  other  programs  when  the  system is under load.  The
75       default is effectively 24000 messages per minute.
76
77       The local-address parameter specifies which local  IP  address(es)  are
78       used  to  make  the outbound connections.  Specified in the same way as
79       the remote address.  This is good for testing LocalDirectors  or  other
80       devices  that  perform differently depending on which source IP address
81       was used.
82
83       The -a command turns on all logging.  All message data received will be
84       logged.   This  will  make it slow and it may not be able to saturate a
85       fast Ethernet link...
86
87       The -b switch allows you to specify breakage  strings.   Currently  the
88       only  option  is  for Netscape mail server which strips spaces from the
89       start of subject lines.  -b netscape means to avoid leading  spaces  on
90       subject  fields  to  not break Netscape.  -b nonetscape means to always
91       put extra space to test for the bug in Netscape and  similar  products.
92       Some people say that the RFCs are open to interpretation on this issue,
93       I am interested to see whether anyone else interprets it the  way  that
94       Netscape does.
95
96       The  -s switch specifies the percentage of connections which are to use
97       TLS AKA SSL.  Use 0 for no SSL, or 100 for always SSL, or any number in
98       between.  Default is 0.
99
100       The  -z  switch allows you to specify a debugging file base.  From this
101       base one file is created for each thread (with a  ':'  and  the  thread
102       number  appended),  each  file  is used to log all IO performed by that
103       thread for debugging purposes.
104
105       The -Z switch is the same but creates a separate file for each  connec‐
106       tion as well with an attitional ':' appended followed by the connection
107       number.
108
109

NOTES

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

RETURN CODES

118       0      No Error
119
120       1      Bad Parameters
121
122       2      System Error, lack of memory or some other resource
123
124

AUTHOR

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

AVAILABILITY

131       The source is available from http://doc.coker.com.au/projects/postal/ .
132
133       See http://etbe.coker.com.au/category/benchmark  for  further  informa‐
134       tion.
135
136

SEE ALSO

138       bhm(8),postal-list(8),rabid(8)
139
140
141
142russell@coker.com.au                 0.70                            postal(8)
Impressum