[Postfixbuch-users] virtual_alias_maps mit Mailman und Postfix

Michael Nausch michael at nausch.org
Mo Sep 27 13:45:12 CEST 2010


HI,

im Moment stehe ich etwas auf dem Schlauch, wie man so schön sagt. So,  
worum geht's.

Bevor mir zu langweilig wird, dachte ich mir, ich beschäftige mal mich  
ein wenig mit einer neuen Baustelle, nämlich Mailman. Nur stehe ich  
da, wie ich meine vor einem Problem, oder es ist gar keines, sondern  
ich bilde es mir nur ein. O.K. auf meinem "Testsystem" habe ich mir ja  
schon vor Jahren virtuelle Domains angelegt.

# postconf virtual_alias_domains
virtual_alias_domains = hash:/etc/postfix/virtual_alias_domains
# postconf virtual_alias_maps
virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps

In den Tabellen habe ich entsprechende Einträge für meine Subdomains  
angelegt, so z.B. unter anderem:

# less /etc/postfix/virtual_alias_domains
#
dokuwiki.nausch.org             no_oane
wetter.nausch.org               blaablubb
#
wetterstation-pliening.info     erste_Info_Domain
#
# 23.09.2010 eingetragen für mailman
lists.nausch.org                mailman_Domain

Und in der virtual_alias_maps habe ich entsprechen ergänzt:
# less /etc/postfix/virtual_alias_maps
postmaster at lists.nausch.org             postmaster at nausch.org
abuse at lists.nausch.org                  abuse at nausch.org

Sowohl an postmaster und abuse kann ich Nachrichten schicken, soweit  
so gut. Aber:

Laut der Dokumentation  
http://www.gnu.org/software/mailman/mailman-install/postfix-integration.html  
habe ich die Alias-Mapping-Datei angelegt und in Postfix eingebunden:
# postconf alias_maps
alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases

Ferner habe ich gemäß der Dokumentation  
http://www.gnu.org/software/mailman/mailman-install/postfix-virtual.html die  
virtual_alias_maps erweitert:

# postconf virtual_alias_maps
virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps,  
hash:/etc/mailman/virtual-mailman

eingebunden.

Zur Konfiguration von Mailman habe ich folgende Info gefunden:
# less /usr/lib/mailman/Mailman/Defaults.py

# MTA should name a module in Mailman/MTA which provides the MTA specific
# functionality for creating and removing lists.  Some MTAs like Exim can be
# configured to automatically recognize new lists, in which case the MTA
# variable should be set to None.  Use 'Manual' to print new aliases to
# standard out (or send an email to the site list owner) for manual twiddling
# of an /etc/aliases style file.  Use 'Postfix' if you are using the Postfix
# MTA -- but then also see POSTFIX_STYLE_VIRTUAL_DOMAINS.
MTA = 'Manual'

# If you set MTA='Postfix', then you also want to set the following variable,
# depending on whether you're using virtual domains in Postfix, and which
# style of virtual domain you're using.  Set this flag to false if you're not
# using virtual domains in Postfix, or if you're using Sendmail-style virtual
# domains (where all addresses are visible in all domains).  If you're using
# Postfix-style virtual domains, where aliases should only show up in the
# virtual domain, set this variable to the list of host_name values to write
# separate virtual entries for.  I.e. if you run dom1.ain, dom2.ain, and
# dom3.ain, but only dom2 and dom3 are virtual, set this variable to the list
# ['dom2.ain', 'dom3.ain'].  Matches are done against the host_name attribute
# of the mailing lists.  See README.POSTFIX for details.
POSTFIX_STYLE_VIRTUAL_DOMAINS = []

Also enthält die mm_cfg.py im Moment:
# egrep -v '(^#|^$)' /etc/mailman/mm_cfg.py
"""This module contains your site-specific settings.
 From a brand new distribution it should be copied to mm_cfg.py.  If you
already have an mm_cfg.py, be careful to add in only the new settings you
want.  Mailman's installation procedure will never overwrite your mm_cfg.py
file.
The complete set of distributed defaults, with documentation, are in the file
Defaults.py.  In mm_cfg.py, override only those you want to change, after the
   from Defaults import *
line (see below).
Note that these are just default settings; many can be overridden via the
administrator and user interfaces on a per-list or per-user basis.
"""
from Defaults import *
import pwd, grp
MAILMAN_UID = pwd.getpwnam('mailman')[2]
MAILMAN_GID = grp.getgrnam('mailman')[2]
from socket import *
try:
     fqdn = getfqdn()
except:
     fqdn = 'mm_cfg_has_unknown_host_domains'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
MTA = 'Postfix'
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.nausch.org']
DEFAULT_SERVER_LANGUAGE = 'de'

Wenn ich mir nun mit genalias die Aliastabelle, oder genauer gesagt  
die Tabellen - wie ich vermute -,  baue, dann bekomme ich aber _n_u_r_:

# /usr/lib/mailman/bin/genaliases

# ll al*
-rw-rw---- 1 root    mailman  1132 27. Sep 11:39 aliases
-rw-rw---- 1 mailman mailman 12288 27. Sep 11:39 aliases.db
# ll vi*
-rw-r--r-- 1 root mailman     0 27. Sep 11:39 virtual-mailman
-rw-r--r-- 1 root mailman 12288 27. Sep 11:39 virtual-mailman.db

Die virtual-mailman ist schlichtweg leer! ;( Ich dachte mit der oben  
aufgezeigten Option wird nun die virtual-mailman so gebaut, dass die  
Adressen, die in der alias.db stehen auch angenommen werden können.  
Nur verstehe ich das eben so, wenn die Adresse(n) nicht in der  
virtual-mailman stehen, wird der MX eMail von außen _n_i_e_ für die  
Mailinglisten, wie z.B. mailman annehmen.
Die DAtei aliases für Mailman sieht für die erste Versuchsliste  
übrigends so aus:
# cat /etc/mailman/aliases
# This file is generated by Mailman, and is kept in sync with the
# binary hash file aliases.db.  YOU SHOULD NOT MANUALLY EDIT THIS FILE
# unless you know what you're doing, and can keep the two files properly
# in sync.  If you screw it up, you're on your own.

# The ultimate loop stopper address
mailman-loop: /var/lib/mailman/data/owner-bounces.mbox

# STANZA START: mailman
# CREATED: Mon Sep 27 13:32:15 2010
mailman:             "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:       "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:     "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:     "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:        "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:       "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:       "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:     "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:   "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman"
# STANZA END: mailman

Ich dachte mir nun, dass er für die virtual-mailman ähnliches anlegt,  
aber die Datei ist ja leer! :(

Habe ich jetzt 'nen groben Denkfehler in meinem Vorgehen, oder sehe  
ich den Wald vor lauter Bäume nicht.
Ich hoffe mal, ich habe alle relevanten Konfigurationsdetails hier  
gepostet. Wenn noch etwas abgeht, dann bitte einfach nachfragen.

Danke schon mal an dieser Stelle für die hoffentlich zahlreichen Antworten. :)


ttyl
Django
-- 
"Bonnie & Clyde der Postmaster-Szene!" approved by Postfix-God

http://wetterstation-pliening.info
http://dokuwiki.nausch.org

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: Digitale PGP-Unterschrift
URL         : <https://listi.jpberlin.de/pipermail/postfixbuch-users/attachments/20100927/bd5dc37c/attachment.sig>


Mehr Informationen über die Mailingliste Postfixbuch-users