1postal(8) Postal postal(8)
2
3
4
6 postal - program to test SMTP mail server throughput.
7
8
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
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
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
118 0 No Error
119
120 1 Bad Parameters
121
122 2 System Error, lack of memory or some other resource
123
124
126 This program, it's manual page, and the Debian package were written by
127 Russell Coker <russell@coker.com.au>.
128
129
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
138 bhm(8),postal-list(8),rabid(8)
139
140
141
142russell@coker.com.au 0.70 postal(8)