[exim] fatal errors in BSMTP transport

Top Page
Delete this message
Reply to this message
Author: Marco Herrn
Date:  
To: exim-users
Subject: [exim] fatal errors in BSMTP transport
Hi,

I am running exim 4.50 with virtual domains/users. Some of the users
get their mails checked for spam by a seperate transport. Since
yesterday some mails were rejected, because of problems with this
transport. The following appeared in the mainlog:

---/---
2006-02-09 13:19:49 1F7Am3-0008Uf-W1 <= ebay-698272660-29c094adII12607e1@??? H=fmmailgate01.web.de [217.72.192.221] P=esmtp S=30388 id=43EB3250.00000082@???
2006-02-09 13:24:49 1F7Am3-0008Uf-W1 <pat@???>: spamcheck transport output: An error was detected while processing a file of BSMTP input.
2006-02-09 13:24:49 1F7Am3-0008Uf-W1 ** pat@??? R=spamscan T=spamcheck: Child process of spamcheck transport returned 2 from command: /usr/sbin/exim4
2006-02-09 13:24:49 1F7Aqv-0008WE-Ah <= <> R=1F7Am3-0008Uf-W1 U=Debian-exim P=local S=31716
2006-02-09 13:24:49 1F7Am3-0008Uf-W1 Completed
2006-02-09 13:24:49 1F7Aqv-0008WE-Ah => ebay-698272660-29c094adii12607e1@??? <ebay-698272660-29c094adII12607e1@???> R=dnslookup T=remote_smtp H=emasmail2.emarsys.net [81.223.46.30]
2006-02-09 13:24:49 1F7Aqv-0008WE-Ah Completed
---/---

The generated bounce message contains something like the following:

---/---
This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

mail@???
local delivery failed

The following text was generated during the delivery attempt:

------ mail@??? ------

An error was detected while processing a file of BSMTP input.
The error message was:

421 Lost incoming connection

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 Lost incoming connection
Transaction started in line 0
Error detected in line 3

------ This is a copy of the message, including all the headers. ------

...
---/---

What is quite strange in my opinion is that the error is a 4xx error (which
seems appropriate), but the sender got this error message and delivery has
failed.

I include the relevant parts of the config for reference:

---/---
spamscan:
  driver=accept
  domains= +hosted_domains
  condition= ${if and { {eq{${lookup pgsql{ \
                               SELECT spam_check FROM mail_address WHERE \
                                 domain_name='${quote_pgsql:$domain}' AND \
                                 local_part='${quote_pgsql:$local_part}' \
                             }}}{t}} \
                       {!def:h_X-Spam-Flag:} \
                       {!eq {$received_protocol}{spam-scanned}}} \
                       }
  no_verify
  transport= spamcheck



spamcheck:
    driver = pipe
    command = /usr/sbin/exim4 -oMr spam-scanned -bS
    use_bsmtp = true
    transport_filter = /usr/bin/spamc -u "${lookup pgsql{\
                                SELECT username FROM domain WHERE domain_name='$domain'}\
                                {$value}}"
    log_output = true
    return_fail_output = true
    return_path_add = false
    message_prefix =
    message_suffix =


---/---


Any ideas what the problem is? This mailserver has been running for around 3
years now, without such problems. And even if there are problems during the spam check,
why is the message bounced instead of just returning a temporary error?

Thanks for help in advance.
Marco