[exim] A critical eye !

Top Page
Delete this message
Reply to this message
Author: Phil \(Medway Hosting\)
Date:  
To: Exim Users List
Subject: [exim] A critical eye !
Hi All

My servers are relatively standard WHM/Cpanel although Exim & SA configs have been modified to be much tighter on spam.

I have a problem with a particular customer mailing list, in that one particular place where many mails on that list are delivered, insist on sending a "Your mail has been delivered" notification to the mailman bounce processing address, which, of course, does not recognise the bounces and forwards them to me as "Uncaught Bounce Notifications". We requested that the recipient's server stopped sending these but either they have no clue how to, or simply do not wish to.

The default Cpanel setup, is that the hosting account personal filters are bypassed when mail is meant for delivery to mailman. I want to change this so that the filters are processed before mails are passed off to mailman.

We tried commenting out the following lines first:

#  warn     message      = X-WhitelistedRCPT-nohdrfromcallback: Yes
#
#           condition    = \
 #          ${if and {{match{$local_part}{(.*)-bounces\+.*}} \
  #                   {exists {/usr/local/cpanel/3rdparty/mailman/lists/${lc:$1}/config.pck}}} \
   #             {yes}{no}}
#
 # accept   condition    = \
  #         ${if and {{match{$local_part}{(.*)-bounces\+.*}} \
   #                  {exists {/usr/local/cpanel/3rdparty/mailman/lists/${lc:$1}/config.pck}}} \
    #            {yes}{no}}
#
#
 # warn     message      = X-WhitelistedRCPT-nohdrfromcallback: Yes
  #         condition    = \
   #        ${if and {{match{$local_part}{(.*)-bounces\+.*}} \
    #                 {exists {/usr/local/cpanel/3rdparty/mailman/lists/${lc:$1}_${lc:$domain}/config.pck}}} \
     #           {yes}{no}}
 # accept   condition    = \
  #         ${if and {{match{$local_part}{(.*)-bounces\+.*}} \
   #                  {exists {/usr/local/cpanel/3rdparty/mailman/lists/${lc:$1}_${lc:$domain}/config.pck}}} \
    #            {yes}{no}}


but this did not appear to have any effect, so it has now been suggested that the following be inserted:

central_filter_beforemlm:
    driver = redirect
    allow_filter
    no_check_local_user
    file = /etc/vfilters/${domain}
    file_transport = address_file
    directory_transport = address_directory
    domains = +user_domains
    pipe_transport = virtual_address_pipe
    reply_transport = address_reply
    router_home_directory = ${extract{5}{:}{${lookup{${lookup{$domain}lsearch*{/etc/userdomains}{$value}}}lsearch{/etc/passwd}{$value}}}}
    user = "${lookup{$domain}lsearch* {/etc/userdomains}{$value}}"
    allow_fail
    no_verify



before the section that deals with Mailman which is as follows:


mailman_virtual_router:
    driver = accept
    require_files = /usr/local/cpanel/3rdparty/mailman/lists/${lc::$local_part}_${lc::$domain}/config.pck
    local_part_suffix_optional
    local_part_suffix = -admin     : \
   -bounces   : -bounces+* : \
                        -confirm   : -confirm+* : \
   -join      : -leave     : \
   -owner    : -request   : \
   -subscribe : -unsubscribe
    transport = mailman_virtual_transport


mailman_virtual_router_nodns:
    driver = accept
    require_files = /usr/local/cpanel/3rdparty/mailman/lists/${lc::$local_part}/config.pck
    condition    = \
           ${if or {{match{$local_part}{.*_.*}} \
                     {eq{$local_part}{mailman}}} \
                {1}{0}}
    local_part_suffix_optional
    local_part_suffix = -admin     : \
   -bounces   : -bounces+* : \
                        -confirm   : -confirm+* : \
   -join      : -leave     : \
   -owner    : -request   : \
   -subscribe : -unsubscribe
    domains = +local_domains
    transport = mailman_virtual_transport_nodns



Does this look sane/reasonable to achieve the objective please ? Or might it cause unforeseen results ?


I will point out I am still VERY much a novice at Exim personally, which is why I am asking for 2nd,3rd & 4th opinions !!

Many thanks

Phil

p.s. If anyone needs the full config before they can form an opinion, please let me know.

_____________________________________________

Website Hosting from only £5.00 per month.
www.medwayhosting.com - +44 (0)1634 856965
_____________________________________________

Digital & Traditional Printing, and much more
www.medwayprint.com - +44 (0)1634 281199
_____________________________________________From marc@??? Fri Feb 20 16:32:15 2009
Envelope-to: exim-users@???
Received: from 44.junkemailfilter.com ([65.49.42.44]:43949
    helo?nkemailfilter.com)
    by tahini.csx.cam.ac.uk with esmtp (Exim 4.69)
    (envelope-from <marc@???>) id 1LaYIG-0004B1-Go
    for exim-users@???; Fri, 20 Feb 2009 16:32:14 +0000
Received: from localhost ([127.0.0.1])
    by darwin.junkemailfilter.com with esmtp (Exim 4.69)
    id 1LaYID-0007wN-0z on interface?7.0.0.1
    for exim-users@???; Fri, 20 Feb 2009 08:32:01 -0800
Message-ID: <499EDB01.7050708@???>
Date: Fri, 20 Feb 2009 08:32:01 -0800
From: Marc Perkel <marc@???>
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
MIME-Version: 1.0
To: exim-users@???
Content-Type: text/plain; charsetãO-8859-1; format\owed
Content-Transfer-Encoding: 7bit
X-Spamfilter-host: darwin.junkemailfilter.com - http://www.junkemailfilter.com
X-Spam-Score: -1.9 (-)
X-Spam-Status: No, scoreÑ.9 required~0 tests÷L.774, BAYES_00Ñ.5,
    EXIM_ACLÑ.2 autolearnŠm version^1.8
Subject: [exim] Does $acl_verify_message actually work?
X-BeenThere: exim-users@???
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: A user list for the exim MTA <exim-users.exim.org>
List-Unsubscribe: <http://lists.exim.org/mailman/listinfo/exim-users>,
    <mailto:exim-users-request@exim.org?subject¾subscribe>
List-Archive: <http://lists.exim.org/lurker/list/exim-users.html>
List-Post: <mailto:exim-users@exim.org>
List-Help: <mailto:exim-users-request@exim.org?subjectŽlp>
List-Subscribe: <http://lists.exim.org/mailman/listinfo/exim-users>,
    <mailto:exim-users-request@exim.org?subject¥bscribe>
X-List-Received-Date: Fri, 20 Feb 2009 16:32:15 -0000


Been trying to use $acl_verify_message but it always returns an empty
string. I'm even storing it in a variable to preserve it.

warn    !condition ${if def:acl_c_no_sender_verify}
    !verify header_sender/callout?,defer_ok,random
    condition ${if eq{recipient}{$sender_verify_failure}}
    set acl_c_verify_failed $acl_verify_message



Am I doing something wrong?

Thanks in advance.