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)
and I have a bunch of errors in my maillog as follows:
Oct 27 13:23:18 listsrv sendmail[11950]: k9RHNIFu011950:
to=pryker@???, ctladdr=pryker@??? (501/501),
delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30470,
relay=[127.0.0.1] [127.0.0.1], dsn=4.3.0, stat=Deferred: 451 Temporary
local problem - please try later
I believe that my setup in the exim.conf file is not correct. If
someone could provide some insight I would greatly appreciate the
help. I believe the way my system is setup is right but it just seems
that the interaction between mailman and exim is broken.
Thanks
Phil