pmx-test # interactive shell

pmx-test [options] -test verify | load | perf | spam | virus | send


The pmx-test program provides a suite of tests to check that PureMessage is operating correctly. pmx-test can also be used for performance testing. If no arguments are specified, pmx-test displays a menu from which tests are selected and run interactively. To run a specific test directly from the command line, specify the -test switch and the desired test.

If you are using pmx-test to test changes to the policy script, you must restart PureMessage after saving the script but before running the tests. Test messages generated by pmx-test are logged to the message_log. Note that pmx-test requires the pmx_test_mark action to be set in the policy script, which is enabled by default.

Because sendmail and Postfix process messages differently, pmx-test options vary depending on which of these mail transfer agents is tested. Postfix holds messages in an internal queue before transferring them to PureMessage. However, sendmail does not queue messages, and they are sent directly to PureMessage. Therefore, while sendmail users have the option of testing by sending messages sendmail or directly to PureMessage, Postfix users can only test by sending messages directly to PureMessage.


This test stops and starts the PureMessage mail filter, and then sends a test message either to the PureMessage mail filter alone, or optionally to the PureMessage milter via sendmail.

This test sends spam messages to the PureMessage mail filter (optionally via sendmail).

This test sends the EICAR test virus to the PureMessage mail filter (optionally via sendmail).

This test sends custom messages from a folder or mbox file (specified using the --mail option).

Tests the PureMessage mail filter with an incremental load test. pmx-test spawns a new mail client process every few seconds, multiplying the load on the target system until a timeout is reached.

Tests the PureMessage mail filter with a static throughput/performance test. pmx-test spawns a predetermined number of mail client processes. This creates a static load on the target server and lasts until a timeout is reached. The number of concurrent processes can be set with the --con option.


The following options are recognized by the pmx-test program:

--peer addr
The IP address that pmx-test should use to identify itself. The default is

--milter socket
The socket of the mail filter you want to test. The default is inet:3366@localhost.

--host smtp-host
The host name of the SMTP host you want to test. The default is localhost.

--port smtp-port
The port of the SMTP host you want to test. The default is 25.

--con connections
The number of connections for a static throughput test. The default is 5.

--timeout seconds
The number of seconds to run the performance test. The default is 120.

--report filename
Write a test report to the specified file. By default, the report is written to the 'pmx6' user's home directory. It is called pmx_load.txt for the performance test results, and pmx_thput.txt for the static throughput test results.

--mail mbox|mdir
The folder or mailbox to use for custom messages. The default is <pmx prefix/etc/data/samples/spam>.

Use this option to specify the desired test on the command line, but specify the test options interactively.

--from mail-addr
The 'From' address to use when testing. Defaults to your current login@hostname.

--to mail-addr
The 'To' address to use when testing. Defaults to puremessage-test@smtp-host.

Prints out a help message.


the pmx manpage


Copyright (C) 2000-2008 Sophos Group. All rights reserved. Sophos and PureMessage are trademarks of Sophos Plc and Sophos Group.