mail passes through spamassassin and clamd but sticks in hold queue, never delivered to local mailbox

Ronny T. Lampert telecaadmin at
Wed Apr 30 14:10:03 IST 2008

> I removed the header_check and reconfigured postfix to deliver to the
> incoming queue temporarily to make sure the core
> postfix/dovecot/squirrelmail config is working, which it is in (Maildir
> config).  I changed the config back to answer your question.

Good. So that proves that your postfix setup is working.

> Checking for SpamAssassin errors (if you use it)...
> SpamAssassin temporary working directory is
> /var/spool/MailScanner/incoming/SpamAssassin-Temp
> SpamAssassin temp dir = /var/spool/MailScanner/incoming/SpamAssassin-Temp
> Using SpamAssassin results cache
> Connected to SpamAssassin cache database
> pyzor: check failed: internal error

Here's an error, please fix it and disable pyzor.
Also try do disable all checks except clam and spamassassin.

> SpamAssassin reported no errors.
> Using locktype = posix
> MailScanner.conf says "Virus Scanners = clamd"
> Found these virus scanners installed: clamd
> ===========================================================================
> Virus and Content Scanning: Starting
> ProcessClamAVModOutput Clamd
> ClamAVModule::INFECTED:: Eicar-Test-Signature :: ./1/
> ProcessClamAVModOutput Clamd
> ClamAVModule::INFECTED:: Eicar-Test-Signature FOUND :: ./1/
> Virus Scanning: Clamd found 2 infections
> Infected message 1 came from
> Virus Scanning: Found 2 viruses
> Filename Checks:  (1
> Other Checks: Found 1 problems
> ===========================================================================
> Virus Scanner test reports:
> Clamd said " was infected: Eicar-Test-Signature"

I'm not entire sure why your installation is reporting *2* infections 
for the *1* testing signature.

> If any of your virus scanners (clamd)
> are not listed there, you should check that they are installed correctly
> and that MailScanner is finding them correctly via its virus.scanners.conf.
> Config: calling custom end function SQLBlacklist
> Closing down by-domain spam blacklist
> Config: calling custom end function MailWatchLogging
> Config: calling custom end function SQLWhitelist
> Closing down by-domain spam whitelist
> commit ineffective with AutoCommit enabled at
> /usr/lib/MailScanner/MailScanner/CustomFunctions/ line 93,
> <CLIENT> line 1.
> Commmit ineffective while AutoCommit is on at
> /usr/lib/MailScanner/MailScanner/CustomFunctions/ line 93,
> <CLIENT> line 1.

This is OK from the posting I've read here IIRC.

> Apr 28 12:09:48 the MailScanner[31848]: New Batch: Scanning 1 messages, 1356
> bytes
> Apr 28 12:09:48 the MailScanner[31848]: Spam Checks: Starting
> Apr 28 12:09:48 the MailScanner[31848]: Message 87F07B807F.1D84D from
> (from at is whitelisted

What happens after that point? You _should_ see something like

Apr 30 15:03:39 server MailScanner[20204]: Requeue: CA65D39F.BF332 to 

which is the point when MailScanner is done with the message and is 
re-injecting it into the postfix outgoing queue to deliver to the final 


More information about the MailScanner mailing list