nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

postfix virtual mailbox domains mysql

Von: Claudio Carobolante (www@carobolante.net) [Profil]
Datum: 04.06.2009 15:01
Message-ID: <j5tkf6-50j.ln1@carobolante.net>
Newsgroup: de.comm.software.mailserver
Ich habe ein Problem, dessen Ursache ich mir nicht erklären kann und
auch die übliche Recherche will mir keine Lösung liefern will.

Zunächst die wichtigsten Informationen: Ich habe eine virtuelle
Mailbox eingerichtet, die ihre Informationen aus einer
MySQL-Datenbank erhalten soll. Dazu habe ich folgende Konfiguration
vorgenommen:

main.cf:
=======

# Hier liegt das Problem. Später mehr dazu.

# virtual_mailbox_domains
proxy:mysql:/etc/postfix/virtual_mailbox_domains.conf

# virtual_mailbox_domains = xmail.lan

virtual_mailbox_base = /var/virtual_mail
virtual_mailbox_maps = mysql:/etc/postfix/virtual_mailbox_maps.conf
virtual_minimum_uid = 100
virtual_uid_maps = static:110
virtual_gid_maps = static:114
virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps.conf

virtual_mailbox_domains.conf:
============================

# user, password, ...
query = SELECT name FROM domain WHERE name='%d';

Die Datenbank hat folgenden Aufbau:

mysql> describe user;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| name     | varchar(255) | NO   |     |         |                |
| passwort | varchar(255) | NO   |     |         |                |
| domain   | int(11)      | YES  |     | NULL    |                |
| procmail | varchar(255) | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

mysql> describe domain;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255) | YES  | UNI | NULL    |                |
+-------+--------------+------+-----+---------+----------------+

mysql> select * from domain;
+----+-----------+
| id | name      |
+----+-----------+
|  1 | xmail.lan |
+----+-----------+

mysql> select * from user WHERE id=1;
+----+------------+----------+--------+----------+
| id | name       | passwort | domain | procmail |
+----+------------+----------+--------+----------+
|  1 | postmaster | xxxxxxxx |      1 | NULL     |
+----+------------+----------+--------+----------+

Ein Test mit
postmap -q postmaster@xmail.lan \
mysql:/etc/postfix/virtual_mailbox_domains.conf
liefert
xmail.lan

Einen DNS-Eintrag für xmail.lan gibt es nicht auf dem Server.

Jetzt würde ich erwarten, dass es egal ist, ob ich nun

virtual_mailbox_domains
proxy:mysql:/etc/postfix/virtual_mailbox_domains.conf
oder
virtual_mailbox_domains = xmail.lan

in main.cf angebe. Jedoch werden eingehende Mails an
postmaster@xmail.lan nur in der virtuellen Mailbox abgelegt, wenn ich

virtual_mailbox_domains = xmail.lan

schreibe. Verwende ich die MySQL-Variante, dann wird die Mail an den
Relayhost weitergeleitet. Eine Fehlermeldung erhalte ich nicht,
ausser natürlich später vom Relayhost, der nichts mit der Mail
anfangen kann.

An ein 'postfix reload' nach jeder Änderung habe ich gedacht und auch
gemacht.

Ich habe zeitweise auf chroot in Postfix verzichtet, um nicht auf
proxy: angewiesen zu sein. Das hatte keinerlei Auswirkungen auf mein
Problem.

Wenn ich weiteren Informationen zur Verfügung stellen soll, so bitte
ich gezielt nachzufragen.

Was muss ich also tun, damit Postfix hier zusammen mit MySQL arbeitet?

Schonmal vielen Dank für jede Art von Hilfe.
cc

[ Auf dieses Posting antworten ]

Antworten