[EXIM] routing of deferred messages

Página Principal
Apagar esta mensagem
Responder a esta mensagem
Autor: Marc Haber
Data:  
Para: exim-users
Assunto: [EXIM] routing of deferred messages
Hi!

I am trying to implement some kind of automatic virus scanning of
e-mail using exim 1.92. Incoming mail is routed resp. directed to a
pipe transport that calls a perl script. The perl script then does the
scanning and calls exim again with "-oMr scanned-ok". The routers and
directors recognize that "signature" and won't scan the mail again. I
am including the relevant portions of the config file.

This works fine as long I have configured exim to deliver mail
immediately to remote SMTP servers. Since the machine is on a dial-up
line, I would like to queue remote deliveries and have queue_smtp=true
set. This seems to break my virus scan scheme.

When a mail to a remote destination is being input, exim does the
virus scanning and defers the message. On the next queue run, the mail
is passed through the virus scanner again and deferred again. In the
current configuration, my virus scanner and queue_smtp are mutually
exclusive.

It looks like the oMr option is lost while the message is being
deferred and each queue runner starts routing / directing the message
all over again.

I am surely doing something wrong here, but what?

Greetings
Marc

excerpt from /etc/exim/config
#queue_smtp = true


end

######################################################################
#                      TRANPORTS CONFIGURATION                       #
######################################################################
virscan:
  driver = pipe
  bsmtp = all
  batch_max = 32767
  bsmtp_helo = true
  command = "/usr/local/virscan/bin/scanmail $sender_host_address"
  current_directory = "/tmp"
  from_hack = false
  freeze_exec_fail = false
  group = virscan
  ignore_status = false
  log_defer_output = false
  log_fail_output = false 
  log_output = true
  prefix = 
  return_output = false
  return_path_add = false
  timeout = 6h
  umask = 022
  use_shell = false
  user = virscan


######################################################################
#                      DIRECTORS CONFIGURATION                       #
######################################################################
vircheck:
  condition = "${if {eq {$received_protocol}{scanned-ok}} {0}{1}}"
  driver = localuser
  transport = virscan


######################################################################
#                      ROUTERS CONFIGURATION                         #
######################################################################


vircheck:

condition = "${if eq {$received_protocol}{scanned-ok} {0}{1}}"
driver = domainlist
route_list = "*"
transport = virscan

end

-- 
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber          |   " Questions are the         | Mailadresse im Header
Karlsruhe, Germany  |     Beginning of Wisdom "     | Fon: *49 721 966 32 15
Nordisch by Nature  | Lt. Worf, TNG "Rightful Heir" | Fax: *49 721 966 31 29



--
*** Exim information can be found at http://www.exim.org/ ***