Troubleshooting Quarantine Digests
This section provides information to assist with troubleshooting common problems encountered when generating quarantine digests.
Digests are not being generated
Verify that the following commands are running as scheduled jobs in the
PureMessage Manager. Run the
commands at the shell prompt and watch for errors.
pmx-qindex (adds new messages to the PureMessage quarantine) pmx-qdigest -verbose (generates digests; provides verbose feedback) pmx-queue run (delivers digests in the message queue)
Run the following commands to verify that sendmail and PureMessage are running:
pmx status (will return the status of PureMessage) ps -uwax|grep sendmail (FreeBSD or Linux: should show sendmail as a running process) ...or... ps -ef|grep sendmail (Solaris: should show sendmail as a running process)
Verify that sendmail and PureMessage are interacting by running the following command and watching for message
This command reads the PureMessage message log. If there is no message activity, verify that a line similar to the following is in the sendmail.mc configuration file:
If this line is present, but there is still no activity, verify that the proper sendmail binary is being used (for example, the distribution of sendmail included with PureMessage and not the system's native version of sendmail).
If the system has recently run out of disk space, compare the values from
the following commands:
$ pmx-qdigest --dump|grep ^@ $ cat /opt/pmx6/var/qdir/counters/pmx-queue.cnt $ cat /opt/pmx6/var/qdir/db.conf
The numbers returned by the first two commands and the value of the
last_idsetting in the db.conf should not vary more than the value in the
num_msgsetting in the db.conf. If they do, contact PureMessage Support and include the output from these three commands.
Some users are not receiving digests
- Ensure that the user in question is a member of the Quarantine digest users list. View the list members on the Policy tab of the PureMessage Manager.
Verify that there are messages in the quarantine for the user in question
that have not previously been included on a digest.
To check which messages have been included in digests, enter the following command on the command line:
Enter man pmx-qdigest for information about sorting and filtering output from this command.
Users cannot release quarantined messages
- When the user requests the release of a message from the quarantine by replying to a quarantine digest, verify that the message reaches the PureMessage server by checking the sendmail maillog. If digest replies from the end user are not reaching the PureMessage server, verify that the mail routing is correct.
Check that the message being requested has not been deleted from the
quarantine by the pmx-qexpire scheduled job. Compare the
date of the message with the value of
- Check that the quarantine digest itself has not expired by comparing the date of the digest with the value of expire in /opt/pmx6/etc/pmx-qdigest.conf (5 days by default).
Error Message: Can't call method min_digest_id on an undefined value
The following pmx-qdigest error may be caused by a corrupted quarantine scan database (/opt/pmx6/var/qdigest/scan.db).
Can't call method "min_digest_id" on an undefined value /opt/pmx6/bin/pmx-qdigest line n
Verify this with the following command:
If it does not return a list of quarantine IDs for each digest type and user, and instead returns an error like the one above, the scan.db file is almost certainly the cause.
Check if the permissions and ownership of the file are correct:
permissions: -rw-r--r-- owner: pmx group: pmx
If these are incorrect, changing them with chmod or
chown may solve the problem. If the permissions and
ownership are correct, or if changing them back to the defaults does not
solve the problem, generate a new scan.db file:
cd 'pmx prefix'/var/counters mv scan.db scan.db.broken pmx-qdigest --earliest <YYYY-MM-DD hh:mm:ss>
Set <YYYY-MM-DD hh:mm:ss> to the time of the earliest message to include in the digest. The quarantine scan will start from this point.
Once the pmx-qdigest command has completed, the scan.db database should be regenerated. The next quarantine digest will start with the last quarantine ID scanned during the run (in this case, the most recent message in the quarantine).
The next time pmx-qdigest is run by the Scheduler, it should complete normally.