[email protected] wrote: > ## Handoff to the SPAM scanner, which will then resubmit. > spamcheck_pipe: > driver = pipe > command = "/usr/local/sbin/exim -oMr spam-scanned -bS" > > Im quite happy to provide whatever info may be useful to someone more > knowledgeable on exim than myself, I might need some help to know what > that info would be as Im pretty stumped on how to trouble shoot this. > Perhaps I have an outdated method of integrating spamassassin with > exim? This is a config I inherited and its been unchanged for many > years, although its a config that has worked without this error for > many years too. Is there a better way to configure spamassassin than > this now? I did google this but I couldnt work out which of the > various methods, if any, was the current recommended method.
Perhaps a UTF-8 vs ASCII comms problem between the two? I'm not knowledgeable at all when it comes to using SA with pipes. But perhaps I can supply a detour to avoid the issue. Are you particularly attached to using the spamc client via pipe? There's been a better way of doing it for a few years now via internal Exim interfaces that allows you to use SpamAssassin before even accepting the email. http://docs.exim.org/current/spec_html/ch41.html#SECTscanspamass It looks like you're using a global config for your SA so you can easily swap over to this - it removes the BSTMP transaction completely and allows you to reject messages that are too spammy during the connection. In the DATA ACL, this is what I currently run - SPAMLEVEL is a macro that boils down to an int value. # Add headers to all messages < 200k warn message = X-Spam-Score: $spam_score ($spam_bar) condition = ${if <{$message_size}{200k}{1}{0}} spam = spamc:true # Add spam report to headers if score over 5 warn message = X-Spam-Report: $spam_report condition = ${if <{$message_size}{200k}{1}{0}} spam = spamc:true condition = ${if >{$spam_score_int}{50}{1}{0}} # Change the subject if it's spam according to SpamAssassin warn message = X-New-Subject: **SPAM** $spam_score $h_subject: condition = ${if <{$message_size}{200k}{1}{0}} spam = spamc # Deny anything over the macro threshold but don't leak the score deny message = Spam score too high log_message = Spam score too high ($spam_score) condition = ${if <{$message_size}{200k}{1}{0}} spam = spamc:true/defer_ok condition = ${if >{$spam_score_int}{SPAMLEVEL}{1}{0}} In combination with an exim system filter to change the subject on any messages that get tagged like this # Exim filter if "${if def:header_X-New-Subject: {there}}" is there then headers remove subject headers add "Subject: $h_X-New-Subject:" headers remove X-New-Subject endif That's about as useful as I can be sorry. I have never used SA outside the SMTP conversation. -- ## List details at http://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
