I am running SpamFilter ISP 2.7.1.532 and using MySQL 5.0 to store the quarantine data. The quarantine is set to delete the e-mails after they become 8 days old. I delete the expired items every 60 minutes.
The problem I have is when an e-mail containing more than one recipient is quarantined and one of the intended recipients either sends or deletes the e-mail. When the person sends or deletes the email from their quarantine area the expire flag is set. When the program runs the 60 minutes cycle to delete the expired messages, it deletes the record for the user that released the message from the tblquarantine table, and deletes the message from the tblmsgs table with the corresponding msgID. Now if the other recipients of the message check their quarantine they see the header, but when they try to view the message they get an error saying message can not be found.
If I manually look at the database I can see the tblquarantine records for the users of the e-mail in question, except the user that released the e-mail. The MsgID that the tblQuarantine record points to does not exist anymore because it was deleted when the 60 minute expired message cycle ran.
|