Man Linux: Main Page and Category List


       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
       connection number.


       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 <>.


       The source is available from .

       See     for     further