Re: [exim] Exim and mailman

Top Page
Delete this message
Reply to this message
Author: W B Hacker
Date:  
To: exim users
Subject: Re: [exim] Exim and mailman
Phillip Ryker wrote:
> I am trying to setup exim with mailman to run for virtual domains on a
> single
> server. I have followed the information provided in the manual very
> closely but am still having some issues. I am running:
>
> CentOS v4.4 2.6.9-42.0.3.EL
> I have installed Exim from the CentOS rpm: exim-4.43-1.RHEL4.5
>
> Before attempting the Mailman install I confirmed that email was
> working properly on the server. I have since installed Mailman-2.1.9
> from source first to function as a single domain list server. I
> tested that and everything worked fine. Now I have the following:
>
> I have installed mailman-2.1.9 into two seperate installs as follows:
>
> /virtual/listsrv.domain1.com/mailman
> /virtual/listsrv.domain2.com/mailman
>
> I have the follwing in httpd.conf:
>
> <VirtualHost 72.13.xxx.xxx:80>
>    ServerAdmin webmaster@???
>    DocumentRoot /virtual/listsrv.domain1.com/html
>    ServerName listsrv.domain1.com
>    ScriptAlias /mailman "/virtual/listsrv.domain1.com/mailman/cgi-bin/"
>    Alias /pipermail/ /virtual/listsrv.domain1.com/mailman/archives/public/
> </VirtualHost>
> <VirtualHost 72.13.xxx.xxx:80>
>    ServerAdmin webmaster@???
>    DocumentRoot /virtual/listsrv.domain2.com/html
>    ServerName listsrv.domain2.com
>    ScriptAlias /mailman "/virtual/listsrv.domain2.com/mailman/cgi-bin/"
>    Alias /pipermail/ /virtual/listsrv.domain2.com/mailman/archives/public/
> </VirtualHost>

>
> I have confirmed that from the web everything works properly. I can
> create new lists and modify them, however, I cannot get the
> configuration for exim to work for the multiple domain names. Here is
> what I have in my exim.conf file:
>
> Under the main config section:
>
> MAILMAN_USER=mailman
> MAILMAN_GROUP=mailman
>
> Under the routers section:
>
> mailman_router:
>    driver = accept
>    #require_files = MAILMAN_HOME/lists/$local_part/config.pck
>    require_files =
> /virtual/${domain}/mailman/lists/$(lc:$local_part)/config.pck
>    local_part_suffix_optional
>    local_part_suffix = -bounces : -bounces+* : \
>                        -confirm+* : -join : -leave : \
>                        -owner : -request : -admin
>    transport = mailman_transport

>
> Under the transports:
>
> mailman_transport:
>    driver = pipe
>    command = /virtual/${domain}/mailman/mail/mailman \
>            ${if def:local_part_suffix \
>                 {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
>                 {post}} \
>              $local_part
>    current_directory = /virtual/${domain}/mailman
>    home_directory = /virtual/${domain}/mailman
>    user = MAILMAN_USER
>    group = MAILMAN_GROUP

>
> When I try to run exim -bt with a valid list email I get this error:
>
> [root@listsrv exim]# exim -bt news@???
> news@??? cannot be resolved at this time:
> failed to expand "/virtual/${domain}/mailman/lists/${lc" for
> require_files: "${lc" is not a known operator (or a } is missing in a
> variable reference)


Dunno about the rest of it, but how about:

A) remove the 'lc:' and test with a couple of dummy lists where case is not an
issue to vet the rest of the code.

B) Once that is vetted, then try applying the case-sensitivity (or NOT) to the
body of the router itself instead of the conditional:

After 'driver = ....'

add:

caseful_local_part

or

no_caseful_local_part

or set the right side:

caseful_local_part = [ true | false]


HTH,

Bill

BTW - side issue, run what you like best, but Ecartis can handle an arbitrarily
large number of virtual domains with a single install. Not in mainstream docs
(yet), But I have working code if you want it.