[Exim] Router question

Top Page
Delete this message
Reply to this message
Author: Dr. Douglas Gray Stephens
Date:  
To: Exim Users
Subject: [Exim] Router question
Hi,

I have an issue were I am trying to warn users if email is passing
over a particular path without a confidentiality statement, so have
configured Exim as a relay, and have a list of trusted addresses in a
route_file, which do not require the confidentiality statement. My
router section needs 3 rules:
 1.  If recipients addresses is in route_file, relay message;
 2.  If message has a confidential footer, it can be relayed to
     another host;
 3.  The message should be returned to the sender with details about
     the required confidentiality statement.



For step 2, I was hoping that a route_list statement like
 confident_footer:
     driver = domainlist
     transport = remote_smtp
     domains = !mydomain1.com : !mydomain2.com " !mydomain3.com : *
     route_list = "* \"${if or {{match {$message_body_end}{CODE:ABCDEF}} \
                                {match {$message_body}{{CODE:ABCDE}}}{relay-address.mydomain1.com}{insane-domain-which-does-not-exist.com}\
                        }\" byname"


would continue processing to router step 3, if the DN lookup for
insane-domain-which-does-not-exist.com failed, however the message is
processed into the non deliverable area.

What can I put in the route_list so that the router is skipped as if
there was no match, and so process the next router statement?


Thanks,

Douglas.



At present I am trying

 ######################################################################
 #                      TRANSPORTS CONFIGURATION                      #
 ######################################################################


return_no_footer:
driver = autoreply
from = Confidential Mail Gateway <mailer-daemon@???>
return_message
to = $sender_address
subject = "Unable to deliver message due to missing confidentiality statement"
headers = "Mime-Version: 1.0\nContent-Type: multipart/mixed; boundary=\"${perl{mime_boundary}}\""
text = "This is a MIME multipart message. Upgrade your email client today!\n\
\n\
--MIME_boundary_$h_messageid\n\
Content-type: text/plain; charset=iso-8859-1\n\
\n\
Dear $h_from\n\
\n\
This is an automatic reply to warn you that you are trying \n\
to send an e-mail to a user over an insecure network. If you\n\
feel you are not sending any Confidential information, please\n\
include the following statement in your message\n\
\n\
------------------------------- CUT ------------------\n\
\n\
This message does not include any information that is classified as\n\
confidential\n\
CODE:ABCDEF\n\
\n\
------------------------------- END -------------------------\n\
\n\
\n\
Thankyou\n\
\n\
--MIME_boundary_$h_messageid\n\
Content-type: message/rfc822\n\
Content-Disposition: attachment;\n\
\n\
"
log = "/var/spool/exim/log/missing-footer"
transport_filter = "/etc/exim/close_mime MIME_boundary_$h_messageid"


<snip>


  ######################################################################
  #                      ROUTERS CONFIGURATION                         #
  #            Specifies how remote addresses are handled              #
  ######################################################################
  #                          ORDER DOES MATTER                         #
  #  A remote address is passed to each in turn until it is accepted.  #
  ######################################################################


# Trusted domains (works)
domainlist:
driver = domainlist
transport = remote_smtp
route_file = /etc/exim/secureroute.list
search_type = partial1-lsearch

 # Forwards mail with expected footer to untrusted relay
 confident_footer:
     driver = domainlist
     transport = remote_smtp
     domains = !mydomain1.com : !mydomain2.com " !mydomain3.com : *
     route_list = "* \"${if or {{match {$message_body_end}{CODE:ABCDEF}} \
                                {match {$message_body}{{CODE:ABCDE}}}{relay-address.mydomain1.com}{insane-domain-which-does-not-exist.com}\
                        }\" byname"


# However the insane-domainn-which-does-not-exist.com causes the
# processing to abort, and the message to be filed in the
# undeliverables, rather than condining to the next router statement.


 # return messages with not statement
 no_confidential_footer:
     driver = domainlist
     transport = return_no_footer
     domains = !mydomain1.com : !mydomain2.com : !mydomain3.com : *
     route_list = * 134.32.26.8 byname



lookuphost:
driver = lookuphost
transport = remote_smtp

--

================================
Douglas GRAY STEPHENS        
Global Infrastructure (Directories)
Schlumberger Cambridge Research
High Cross,
Madingley Road,
Cambridge.
CB3 0EL
ENGLAND


Phone  +44 1223 325295
Mobile +44 773 0051628
Fax    +44 1223 311830
Email DGrayStephens@???
================================