bhm - program to send SMTP mail to /dev/null
bhm [-m maximum-message-size] [-t threads] [-p listen-port] [ -s ] [-a]
[-[z|Z] debug-file] [-r reverse-dns] user-list-filename
This manual page documents briefly the bhm, program.
It is designed to test the performance of SMTP relay servers by
receiving mail to /dev/null at random speeds.
The user-list-filename is the name of a file which contains a list of
valid user’s email addresses. The file may have three fields separated
by spaces, the email address, the password (used for rabid) and an
optional third field to specify what is to be done with the mail. A
’d’ character means that it is to be deferred (SMTP 45x), a ’r’ means
that it is to be rejected (SMTP 55x), a ’b’ means that it is to be
accepted and bounced, and a ’g’ means that it is to be grey-listed.
The reverse-dns file is in the same format as /etc/hosts and gives the
value that will be used in the 220 message. Otherwise it will be bhm
The maximum-message-size indicates the size in Kilobytes that will be
the maximum size of a message that will be accepted. The default is
The -s parameter enables SSL.
The listen-port parameter specifies the TCP port to listen on (default
The threads parameter is the number of threads that may be created to
receive mail. Note that your BHM machine may have hardware and OS
limits that determine how many connections it may receive.
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 -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 attitional ’:’ appended followed by the
0 No Error
1 Bad Parameters
2 System Error, lack of memory or some other resource
This program, it’s manual page, and the Debian package were written by
Russell Coker <email@example.com>.
The source is available from http://doc.coker.com.au/projects/postal/ .
See http://etbe.coker.com.au/category/benchmark for further