When I try sending a test message, I get the error, "451 mail server temporarily rejected message (#4.3.0)".
This can result from any of the following. In order of likelihood:
1. Your virus scanner could be returning an error other than a virus detection. This is almost always the problem. Most often it's because you are using ulimits, and have not allowed enough memory for your scanner to run. It might also be because you've given the wrong path to the scanner in conf-scancmd at compile time, or because the scanner itself has a problem.
2. qscanq may be failing to execute qmail-queue. This is next to impossible, unless you've moved qmail-queue or the permissions are somehow messed up.
3. qscanq fails to run qscanq-stdin. This is even more rare.
4. qscanq can't chdir to the folder in which it spools messages for scanning. This can't happen unless the permissions to the spool folder have been messed up; installing qscanq sets the permissions exactly right.
5. qscanq can't determine the exit status of qscanq-stdin. This would essentially suggest an OS bug, and is vanishingly rare.