mailman aliase mit vexim: /etc/aliase vs. sql

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
mk
Posts: 18
Joined: 2005-09-27 10:44

mailman aliase mit vexim: /etc/aliase vs. sql

Post by mk » 2006-01-28 17:44

Hallo,
eine Frage zu einem (v)exim/mailman Setup nach dem debianhowto rezept.

mailman benötigt ja seine Aliase per default in der /etc/aliases.

Code: Select all

mailman:              "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Mit dem vexim Setup läuft das ganze ja über mysql und scheint so nicht mehr zu funktionieren.
Jedenfalls gibt's ein ...

Code: Select all

2006-01-28 17:20:19 1234567890-O7 Failed to find group "" from expanded string "${lookup mysql{select users.gid from users,domains where localpart = '${quote_mysql:$local_part}' and domain = '${quote_mysql:$domain}' and users.domain_id = domains.domain_id}}" for the address_pipe transport

2006-01-28 17:20:19 1234567890-O7 == |/var/lib/mailman/mail/mailman unsubscribe mailman <mailman-unsubscribe@domain.tld> R=system_aliases T=address_pipe defer (-28): Failed to find group "" from expanded string "${lookup mysql{select users.gid from users,domains where localpart = '${quote_mysql:$local_part}' and domain = '${quote_mysql:$domain}' and users.domain_id = domains.domain_id}}" for the address_pipe transport
... in der /var/log/exim4/mainlog


Es funktioniert zwar, wenn ich alle Aliase in die vexim db eintrage, aber gibt es nicht einen Weg, vexim beizubringen, die Aliase aus /etc/aliases auszulesen/auszuführen, wie dort stehen?

Beim Betrachten der Exim vs Vexim /etc/exim4/exim4.conf(s) scheint ja /etc/aliases berücksichtigt zu werden, aber irgendwie nur noch in Verbindung mit einer Mysql Abfrage.

exim4.conf (orig)

Code: Select all

system_aliases:
driver = aliasfile
file_transport = address_file
pipe_transport = address_pipe
file = /etc/aliases
search_type = lsearch 
exim4.conf (vexim setup)

Code: Select all

system_aliases:
  driver = redirect
  allow_fail
  allow_defer
  data = ${lookup{$local_part}lsearch{/etc/aliases}}
  user = Debian-exim
  group = Debian-exim
  file_transport = address_file
  pipe_transport = address_pipe
Muss ich wirklich für jede mailman Liste die einzelnen Aliase in die vexim db eintragen?

(*Hinweis* bevorzugte Antwort wäre: Nein ;) )

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: mailman aliase mit vexim: /etc/aliase vs. sql

Post by Roger Wilco » 2006-01-28 18:18

Da scheint etwas mit deinen Routern nicht zu stimmen. Der Mailman Router fängt eigentlich alle Mails ab, die an entsprechende Adressen geschickt wurden, so dass die Mails gar nicht bis zu den Routern von vexim durchkommen dürften.

EDIT: Lies mal http://exim.org/howto/mailman21.html, zumindest den Abschnitt "Basic Configuration".

mk
Posts: 18
Joined: 2005-09-27 10:44

Re: mailman aliase mit vexim: /etc/aliase vs. sql

Post by mk » 2006-01-28 21:47

Ha! guter Hinweis (einmal mehr :))

Das ...
Exim configuration
The Exim configuration is built so that a list created within Mailman automatically appears to Exim without the need for defining any additional aliases (however Mailman may helpfully show or email you a list of required aliases when you create a list - you can just ignore those
...hat mich dann doch stutzig gemacht.
Sollte mit Exim also "out of the box" laufen, warum nicht bei mir?
Kurzer Blick in den mailman router zeigte dann, daß -unsubscribe (womit ich die ganze getestet habe :roll: ) im default mailman router gar nicht definiert ist.
Also aus ...

Code: Select all

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
  headers_remove = X-Spam-Score:X-Spam-Report
  transport = mailman_transport
...mach...

Code: Select all

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 : 
                      -unsubscribe : -unsubscribe+ : 
                      -owner : -request : -admin
  headers_remove = X-Spam-Score:X-Spam-Report
  transport = mailman_transport
... und es funktionert, ganz ohne irgendwo noch zusätzliche Aliase anlegen zu müssen.

Danke für den Hinweis.