[Mailman-Users] mailman and exim4

Sebastian Schulz sebastian.schulz at pluto.uni-freiburg.de
Sat Jun 12 14:37:35 CEST 2004


Hi Bob,

I had a simular problem with the strange Debian Configuration.

Bob wrote:

> I am using mailman 2.1.4-5 on Debian with Exim4 (with the multiple 
> configuration files). As I was reading the documentation about how to 
> set up mailman with exim4, it doesn't refer to the multiple config 
> file set-up, but only to the single exim4 configuration files. Can 
> anyone help me to figure out which files to edit in this case. For 
> example, which file should I edit to do the following
>
>>
>>       Main configuration settings
>>
>> <http://www.exim.org/howto/mailman21.html#index>
>>
[...]

You should store these settings in 
/etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs.


Some things about  Debian/Exim4 one should know:

Debian splits the config files into the stuff in /etc/exim4/conf.d. If 
you run debconf, the settings are stored in 
/etc/exim4/update-exim4.conf.conf.
When you run 'update-exim4.conf' these settings are stored in 
'/var/lib/exim4/config.autogenerated', which is read when exim4 starts. 
Maybe debconf write these file too, I don't know.
Important: The files in /etc/exim4/conf.d/dirs/ are included in 
alphabetical order (therefore the strange filenames 01_...). That's 
important because some of the Mailman configuration settings require a 
correct order (ACL settings,Router settings).

If there is an existent '/etc/exim4/exim4.conf' , this file is read 
instead of '/var/lib/exim4/config.autogenerated'.

I personally prefer the one-file-setup. If you run "update-exim4.conf - 
o /etc/exim4/exim4.conf", the splitted configuration (plus the debconf 
settings) is united into a single file. See 'man update-exim4.conf' for 
more details. I don't think it is very comfortably to create ACLs or 
Routers over several files, because it complicates understanding what 
they actually do.  For more details: 
http://www.exim.org/exim-html-4.30/doc/html/spec_3.html#CHAP3

Back to the configuration: After you've defined the makros, you need to 
add an router like

mailman_router:
  driver = accept
  require_files = MAILMAN_HOME/lists/$local_part/config.pck
  local_part_suffix_optional
  local_part_suffix = -bounces : -bounces+* : \
                      -confirm+* : -join : -leave : \
                      -owner : -request : -admin
  transport = mailman_transport

into the router (remember that the order of routers matter!) section and 
a transport (order doesn't matter in the transport section) like

mailman_transport:
  driver = pipe
  command = MAILMAN_WRAP \
              '${if def:local_part_suffix \
                    {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
                    {post}}' \
              $local_part
   current_directory = MAILMAN_HOME
   home_directory = MAILMAN_HOME
   user = MAILMAN_UID
   group = MAILMAN_GID

. If you use the transport above, you 'don't need to change your 
'/etc/alias' (using this file is depreciated for you have to change 
either the exim4 user or the Mailman user). The router checks for the 
local parts of an email adress (so no alias file is needed) in the 
Mailman/lists/ directory:

require_files = MAILMAN_HOME/lists/$local_part/config.pck

If the list exist, the mailman_transport is activated for delivering the 
emails. 

This setup works fine on my Debian/Sarge system.

Some hints for apache2 on Debian/Sarge:
mod_cgi is not enabled by default!!!!
You have to create a  symlink:
/etc/apache2/mods-enabled/cgi.load -> /etc/apache2/mods-available/cgi.load
I wondered myself some useless hours, why the admin interface didn't 
work :-(

I hope it helped
seb















More information about the Mailman-Users mailing list