Direkt zum Inhalt
18.06.2012 - Fachbeitrag

Mailman-Listen mit gleichem Localpart / unter mehreren Domains

Will man mit Mailman Mailinglisten unter mehreren Domains haben, bzw. verschiedene Listej unter gleichen Localparts ("info@") so geht das nur mit einigen unschönen Tricks. Dieses kleine Howto zeigt, was zu tun ist. Das Problem: Bei den derzeitigen Mailman 2.x-Versionen kann der Local-Part stets nur einmal vergeben werden.

In der aliases gibt es keine Domains!

Das liegt daran, daß Mailman über die aliases-Datei von Postfix & Co eingebunden werden und das ist -- wenn man so etwas ungenau sagen kann -- auf Ebene der /etc/passwd. Und dort existieren eben nunmal nur Local-Parts und keine Mailadressen mit Domains. Ein Useraccount kann eben nur einmal vergeben werden. Um Mailinglisten auch unter anderen Domains verfügbar zu haben, muß man für die Mailingliste und auch für alle deren Nebenadressen (-subscribe, -unsubscribe, -admin, -owner, -bounce etc. etc.) entsprechende virtual-Weiterleitungen in Postfix anlegen. Nun ist die Liste unter diesen Adressen erreichbar -- intern werden sie auf die tatsächlichen "technischen" Namen des Mailman-Servers umgeleitet. Wichtig: Bitte wirklich die Weiterleitungen für ALLE Steueradressen von Mailman einrichten, also für alle Adressen, die sich Mailman ja auch in der generierten aliases-Datei anlegt!

Und am Ende noch ein Handgriff in der Mailman-Config

Damit jetzt Mailman nicht unter der "echten" Mailadresse raussendet, kann man in der jeweiligen Mailinglistenconfig die Domain der Mailingliste entsprechend setzen -- hier also example.com. Die Lösung ist nicht schön, funktioniert aber halbwegs. Will man Listen unter gleichen Local-Parts haben (also: info@domain1 und info@domain2 und das sollen zwei verschiedene Listen sein), so muß man in den virtual-Umschreibungen auf zwei verschiedene Listen weiterleiten -- und am Ende damit leben, daß für den Enduser sichtbar dann auch von infoliste1@ und infoliste2@ aus verteilt und gearbeitet wird. Dies ist dann nicht mehr so konfigurierbar, daß es für den User tatsächlich transparent, d.h. "verborgen" zu machen ist.

#!/bin/bash
#
# Erzeugt Mailinglisten-Weiterleitung unter anderen Domains Domain
#
# Heinlein Professional Linux Support GmbH
# Peer Hartleben <p.hartleben@heinlein-support.de>
#

clear
echo
echo "Anelegen von virtuellen Mailinglistenadressen"
echo
echo ">>Erstellt Mailinglisten-Umschreibung auf eigene Domain<<"
echo
echo -en "Mailinglistenname: "
read a
echo -en "Domainname: "
read b
echo  
echo
echo
echo "Einträge werden mit folgenden Variablen erzeugt:"
echo
echo "Mailinglistenname: $a"
echo "Domainname: $b"
echo
echo -en "Alle Angaben korrekt? [j/n]:"
        read z
        case $z in "n") exit;;
        esac
#export file="/etc/postfix/virtual-mailinglisten"
export file="/etc/postfix/MAILSERVER-CONFIG/virtual-mailinglisten"
export destination="listi.jpberlin.de"

echo "#" >> $file
echo $a@$b              $a@$destination >> $file
echo $a-admin@$b        $a-admin@$destination >> $file
echo $a-bounces@$b      $a-bounces@$destination >> $file
echo $a-confirm@$b      $a-confirm@$destination >> $file
echo $a-join@$b         $a-join@$destination >> $file     
echo $a-leave@$b        $a-leave@$destination >> $file      
echo $a-owner@$b        $a-owner@$destination >> $file      
echo $a-request@$b      $a-request@$destination >> $file    
echo $a-subscribe@$b    $a-subscribe@$destination >> $file  
echo $a-unsubscribe@$b  $a-unsubscribe@$destination >> $file
export file=""
export destination=""
echo
echo
echo "Fertig!"
echo