Virtual Users | Verständnisfrage

Patrick Ben Koetter p at sys4.de
Do Feb 21 15:32:42 CET 2019


Hallo Steffi,

* Stefanie Leisestreichler <stefanie.leisestreichler at peter-speer.de>:
> Ich hätte noch eine Verständnisfrage zu Virtual Users.
> 
> In main.cf habe ich folgende Optionen gesetzt:
> virtual_mailbox_base = /var/spool/virtual_mailboxes
> smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination,
> check_policy_service inet:127.0.0.1:60000
> 
> In /etc/postfix/virtual_mailboxes_recipients habe ich folgenden Eintrag:
> kontakt.sievetest at mxtest.example.de           ppim_kontakt
> 
> Für diesen User habe ich auch einen Eintrag in /etc/dovecot/users:
> kontakt.sievetest at mxtest.example.de:{SHA512-CRYPT}$6$2gekürzt.:::::::
> 
> Nehme ich den Eintrag in der /etc/postfix/virtual_mailboxes_recipients für
> kontakt.sievetest at mxtest.example.de raus, ist Mail an
> kontakt.sievetest at mxtest.example.de nicht mehr zustellbar mit folgender
> Fehlermeldung: Recipient address rejected: User unknown in virtual mailbox
> table. Das ist wohl auf reject_unauth_destination zurück zu führen, wie ich
> denke.
> 
> Überhaupt auf die Idee gekommen, diesen Eintrag zu entfernen bin ich, weil
> unter /var/spool/virtual_mailboxes/ kein Verzeichnis ppim_kontakt/ vorhanden
> ist, sondern lediglich unter dem Home-Verzeichnis der Virtual User, die ich
> in Dovecot definiert habe, nämlich unter
> /home/vmail/kontakt.sievetest at mxtest.example.de/Maildir/ (Dort landet die
> Mail auch).
> 
> Dazu hätte ich 2 Fragen:
> 1) Ist meine Konfiguration in /etc/postfix/virtual_mailboxes_recipients
> überhaupt richtig und falls ja, warum gibt man dort dann ein Verzeichnis an,
> welches nicht genutzt wird?
> 
> 2) Gibt es eine Möglichkeit auf die unter Dovecot definierten
> Mailboxen/UserDB zu prüfen sodass man sich die doppelten Einträge sparen
> kann?
> 
> Oder habe ich das komplett falsch verstanden?

Du willst die Mail mit Postfix (nach Prüfung) annehmen und dann soll Dovecot
sie erhalten und an den Account ausliefernm, ja?

In diesem Fall kannst Du Dir das Setup vereinfachen:

- Postfix routet und filtert, aber es verwaltet keine Mailboxen mehr
- Postfix betrachtet die Empfängerdomain als relay_domain
- Postfix übergibt alle Nachrichten an diese relay_domain an dovecot
- Dovecot betreibt einen LMTP-Server und nimmt die Nachrichten an
- Dovecot wendet serverseitige SIEVE-Filter an (optional)
- Dovecot legt die Nachrichten in Mailboxen ab

Konfiguriere Dir Dovecot dazu so, dass es einen LMTP-Server auf 
127.0.0.1:24 startet. Dann trage in Postfix die Empfängerdomain in
$relay_domains ein.

Damit Postfix Nachrichten für die Empfängerdomain zu dovecot routet braucht
Postfix eine $transport_maps:

empfaengerdomain               lmtp:127.0.0.1:24

Jetzt kannst Du Nachrichten an Mailboxen in dovecot senden.

Möglicherweise hast Du jetzt aber ein Zustellproblem, denn Deine Mailbox in
Dovecot heißt kontakt.sievetest at mxtest.example.de und Du willst auch
Nachrichten von contact.sievetest at mxtest.example.de in diese Mailbox routen.

Das löst Du mit einer Alias-Tabelle. Es muss eine $virtual_alias_maps-Tabelle
sein, weil Postfix diese *vor* den transport_maps auswertet und dann mit dem
richtigen Ziel in der transport_maps weitersucht. Das sähe dann im Beispiel so
aus:

contact.sievetest at mxtest.example.de     kontakt.sievetest at mxtest.example.de


Grüße

p at rick

-- 
[*] sys4 AG
 
https://sys4.de, +49 (89) 30 90 46 64
Schleißheimer Straße 26/MG,80333 München
 
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
Vorstand: Patrick Ben Koetter, Marc Schiffbauer, Wolfgang Stief
Aufsichtsratsvorsitzender: Florian Kirstein
 


Mehr Informationen über die Mailingliste postfix-users