Hello everyone,
Intermittently I get errors logged like in subject while mail is locally
spam-scanned (traditional method of external scanning and the mail
filter re-injecting the message with exim -oMr spam-scanned -bS). This
causes a bounce to be generated and obviously makes bad impression among
users.
Does anybody know the cause behind it?
The bounce excerpt:
....
> local delivery failed
....
>
> An error was detected while processing a file of BSMTP input.
> The error message was:
>
> 421 SMTP incoming data timeout - message abandoned
>
> The SMTP transaction started in line 0.
> The error was detected in line 3.
> 0 previous messages were successfully processed.
> The rest of the batch was abandoned.
> 421 SMTP incoming data timeout - message abandoned
> Transaction started in line 0
> Error detected in line 3
>
> ------ This is a copy of the message, including all the headers. ------
Logs:
2007-08-13 08:39:26 1IKTYF-000ADq-Hb <someone@???>: spamcheck
transport output: An error was detected while processing a file of BSMTP
input.
2007-08-13 08:39:26 1IKTYF-000ADq-Hb ** someone@???
F=<another@???> R=spamcheck_director T=spamcheck: Child
process of spamcheck transport returned 2 from command: /usr/sbin/exim
2007-08-13 08:39:26 cwd=/usr/var/spool/exim 7 args: /usr/sbin/exim -t
-oem -oi -f <> -E1IKTYF-000ADq-Hb
2007-08-13 08:39:26 1IKTaI-000ALa-3r <= <> R=1IKTYF-000ADq-Hb U=mail
P=local S=6142 T="Mail delivery failed: returning message to sender"
from <> for another@???
2007-08-13 08:39:26 1IKTYF-000ADq-Hb Completed
router and transport that experience this problem:
spamcheck_director:
driver = accept
condition = "${if and { \
{!def:h_X-Spam-Flag:} \
{!eq {$received_protocol}{spam-scanned}} \
{!eq {$received_protocol}{local}} \
{exists{/home/${lookup{$domain}lsearch{/etc/virtual/domainowners}{$value}}/.spamassassin/user_prefs}}
\
} {1}{0}}"
retry_use_local_part
transport = spamcheck
no_verify
spamcheck:
driver = pipe
batch_max = 100
command = /usr/sbin/exim -oMr spam-scanned -bS
current_directory = "/tmp"
group = mail
home_directory = "/tmp"
log_output
message_prefix =
message_suffix =
return_fail_output
no_return_path_add
transport_filter = /usr/bin/spamc -u
${lookup{$domain}lsearch*{/etc/virtual/domainowners}{$value}}
use_bsmtp
user = mail
# must use a privileged user to set $received_protocol on the way back in!
--
Marcin Krol