[Pkg-exim4-users] Debian, Exim4, GID, desperated...

Thomas Koch thkoch at ruhrgebietswiki.de
Tue Mar 6 17:26:51 CET 2007


Hallo Marc,

my informations come from
/usr/share/doc/mailman/README.Exim4.Debian
I've not found this file anywhere on the net, so I post it at the end of this 
mail. Maybe you find any problem in it.

There's no  /usr/share/doc/mailman/README.EXIM.gz on my system.

With Debian Sarge Testing I mean running a Debian Sarge with mostly all 
packages from testing, which means that it's more an Etch now.

Best Regards, Thomas

/usr/share/doc/mailman/README.Exim4.Debian:
Here's a way to integrate mailman with Exim4 that will automatically
play nice with mailman's virtual domains support and VERP. It does not
require dedicating domain(s) to mailman.

Configure your Mailman (in /etc/mailman/mm_cfg.py) with:

MTA = 'Postfix'
POSTFIX_ALIAS_CMD = '/bin/true'
POSTFIX_MAP_CMD = 'chgrp Debian-exim'

and list all your Mailman domains in "POSTFIX_STYLE_VIRTUAL_DOMAINS".

Please note that the chgrp command above will not work when creating a
list in the web interface: the user www-data will not be allowed to do
this. You can circumvent this problem by creating new lists with the
'newlist' command line command or using instead:
POSTFIX_MAP_CMD = 'chmod o+r'
This will allow local users (with shell access to the list server) to
see the list of all Mailman mailing lists, but not much more.

Put this in your exim4 main configuration (if you use a split config,
for example /etc/exim4/conf.d/main/04_local_mailman_macros)

---------------------- BEGIN EXIM4 MAIN   ----------------------------
# Home dir for your Mailman installation -- aka Mailman's prefix
# directory.
MAILMAN_HOME=/var/lib/mailman
MAILMAN_WRAP=MAILMAN_HOME/mail/mailman

# User and group for Mailman, should match your --with-mail-gid
# switch to Mailman's configure script.
MAILMAN_USER=list
MAILMAN_GROUP=daemon
----------------------  END EXIM4 MAIN    ----------------------------


Put this in your exim4 router configuration (if you use a split
config, then for example /etc/exim4/conf.d/router/970_local_mailman)

---------------------- BEGIN EXIM4 ROUTER ----------------------------
# Messages get sent out with
# envelope from "mailman-bounces at virtual_domain"
# But mailman doesn't put such addresses
# in the aliases. Recognise these here.
mailman_workaround:
  domains = +local_domains
  require_files = MAILMAN_HOME/lists/$local_part/config.pck
  driver = accept
  local_parts = mailman
  local_part_suffix_optional
  local_part_suffix = -bounces : -bounces+* : \
           -confirm+* : -join : -leave : \
           -subscribe : -unsubscribe : \
           -owner : -request : -admin
  transport = mailman_transport
  group = MAILMAN_GROUP

# Mailman lists
mailman_router:
  domains = +local_domains
  condition = 
${lookup{$local_part@$domain}lsearch{MAILMAN_HOME/data/virtual-mailman}{1}
{0}}
  require_files = MAILMAN_HOME/lists/$local_part/config.pck
  driver = accept
  local_part_suffix_optional
  local_part_suffix = -bounces : -bounces+* : \
                      -confirm+* : -join : -leave : \
                      -subscribe : -unsubscribe : \
                      -owner : -request : -admin
  transport = mailman_transport
  group = MAILMAN_GROUP
----------------------  END EXIM4 ROUTER  ----------------------------

Put this in your exim4 transport configuration (if you use a split
config, then for example /etc/exim4/conf.d/transport/40_local_mailman)

---------------------- BEGIN EXIM4 TRANSPORT -------------------------
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_USER
  group = MAILMAN_GROUP
  freeze_exec_fail = true
----------------------  END EXIM4 TRANSPORT  -------------------------

You are done!

 -- Lionel Elie Mamane <lmamane at debian.org>, Wed, 29 Nov 2006 19:53:13 +0100



More information about the Pkg-exim4-users mailing list