The first step in testing your bounce processing is to actually generate a bounce. Remember that receiving servers can reject a message either synchronously or asynchronously; when we speak of bounces, we are speaking of the asynchronous rejections only.
The trick then becomes how to force a remote server to reject a message asynchronously. You can't simply force a remote server to reject a message asynchronously. For the most part, servers either do it or they don't. We need to find the ones that do.
- If you have been capturing bounces into a "bounce box" in the past, this might be a good place to look for addresses which will generate new bounces for testing. If you have not already done so, you must configure Hurricane Server to process bounces before this can be done. We discuss this process in the following article: How to Track Bounces with Hurricane Server.
- After Hurricane has been configured to process bounces, elect an account to use for the bounce tests and edit the logging options for it.
Make sure that you have the Processed, Deferred, Bounced Queued, and Bounce Processed log options enabled.
These are not strictly necessary for bounce analysis but will help you to see what is going on inside of the server during testing.
- Once you find an address that produces a bounce/asynchronous failure you can send it with the Test Message Dashboard in Hurricane Server. Go to the Log Viewer dashboard and view the logs for the account with which you are testing. The first log you should look at is the processed log. It should contain an entry for the message you sent from the test dashboard. For an asynchronous failure, you should see a successful delivery to the recipient in the processed log. If you see a failed delivery, then the recipient's server rejected this message synchronously and you will have to find another address with which to test.
If you do not see anything in the processed log for your test address, look in the deferred log. Your message may have been greylisted or there may be a temporary problem communicating with the recipient's server. If you see a successful delivery to the bounce address in the processed log, you now have to wait for the asynchronous bounce message to return. You can start to monitor the bounce queued log. A line will be placed in this log when the bounced message is received by Hurricane Server and it is waiting to be processed. Depending on the remote server it could take some time to receive your bounced message, but in most cases, it happens within a minute or so. Once the bounced message is received, queued, and processed, a line is placed in the bounce processed log. At this time any plugin that handles the OnBounce() event will also be called.
Troubleshooting If your test messages are being listed in the processed log as successful but do not seem to be generating bounces which come back into Hurricane Server, your problem is either that your test address is now actually good, or that there is an error in your set up. Check your bounce domain in the account's bounce configuration and DNS settings for that domain on your DNS server.