[postfix-users] Verständnisprobleme mit mydestination, virtual_alias_domains und virtual_mailbox_domains

Wandersmann mijarena at gmail.com
Fr Jun 28 14:04:10 CEST 2013


Am 28.06.13 schrieb Hubert Schölnast <hubert at schoelnast.at>:
>
> Wandersmann schrieb am 28.06.13 12:34:
>>
>> Wo ist da ein Widersprüch.
>
>
> Ich erkläre es dir gerne nochmal:
>
>
> Tatsache 1:
>>
>> Ich darf die Domains firstdomain.at, seconddomain.at und thirddomain.at
>> nicht zugleich in virtual_alias_domains und virtual_mailbox_domains
>> eintragen. Folgendes ist also falsch:
>>
>> In main.cf:
>> virtual_alias_domains = firstdomain.at, seconddomain.at, thirddomain.at
>> virtual_mailbox_domains = firstdomain.at, seconddomain.at, thirddomain.at
>>
>> Darin stimmen wir überein, daran habe ich nie gezweifelt, und mir wäre es
>> sehr lieb, wenn wir darüber nicht weiter diskutieren würden, denn da waren
>> wir uns immer schon einig.
>


Sehr schön.

>
>
> Tatsache 2:
>>
>> Ich bin "der MX" der drei genannten Domains und es gibt in allen drei
>> Domains gültige E-Mail-Adressen, die an andere E-Mail-Adressen
>> weitergeleitet werden sollen (alle Ziele gehören ebenfalls zu diesen drei
>> Domains).

Das MX kannst du mal außer acht lassen. Deine email kommt am Server
an. Sie wird dort entweder von einem anderen Server dahingeschickt,
z.B. weil Dein Server als MX im DNS steht oder aufgrund irgendwelcher
anderer Weiterleitungen oder Zustellungen.

Für Postfix ist zunächst einfach nur wichtig, was er damit machen soll.

>> Das Weiterleiten wird mit Hilfe von virtual_alias_maps erledigt,

Unter anderem. Zunächst geht es erstmal um 2 Dinge: a) Soll der Server
eine Email an diese DOMAIN überhaupt annehmen?
(virtual_mailbox_domains, virtual_alias_domains) wenn a)=JA dann b)
habe ich überhaupt eine Adresse zum zustellen? (virtual_alias_maps,
virtual_mailbox_maps).

Wenn a) und b) = JA dann zustellen (virtual_mailbox_maps, virtual_alias_maps)

Beispiel, ich habe einen Server dem ich intern einen Namen zur
Verwaltung gegeben habe z.B.: verwaltungsnetzwerk.de Und ich habe
einige normale Domains z.B. normaledomain.de. Im DNS der
normalendomain.de Domains steht nun als MX aber der Mailserver von
verwaltungsnetzwerk.de drin.

Daher habe ich in main.cf:
mydestination = verwaltungsnetzwerk.de

Da die User alle virtuell sind (das habe ich mit DBMail gelöst):
virtual_mailbox_domains = normaledomain.de

Für die Postfächer:
virtual_mailbox_maps = mysql:/etc/postfix/mysql-mailboxes.cf


Zur Klärung:

>> damit Postfix bei einer Adresse aus einer bestimmten Domain aber überhaupt
>> in virtual_alias_maps nachsieht, muss die Domain dieser Adresse in
>> virtual_alias_domains eingetragen sein. Da das bei allen drei Domains der
>> Fall ist, muss ich also zwingend in main.cf das eintragen:
>>
>> virtual_alias_domains = firstdomain.at, seconddomain.at, thirddomain.at

Das brauchst Du, wenn Du, so steht es im "Purpose", lokale
Unix-Benutzer hast die nun Emails empfangen sollen und/oder
weiterzuleitende Emails ankommen, z.B. an eine Adresse bei Google

Und wie heißt es so schön im Manual: There is no mail delivery
transport parameter. Every address must be aliased to some other
address.

In virtual_alias_maps wird auch nachgeschaut wenn die Domain in
virtual_mailbox_domains steht. Weil, ganz einfach, es mag ja auch z.B.
Systembenutzer geben die keine virtuellen Postfächer haben sondern
lokale Accounts.

Hier das Manual:
http://www.postfix.org/VIRTUAL_README.html#virtual_mailbox

> Tatsache 3:
>>
>> Alle E-Mail-Empfänger sind virtuelle User. Die Empfänger-E-Mail-Adressen
>> müssen also in virtual_mailbox_maps eingetragen sein. Damit Postfix bei
>> einer Adresse aus einer bestimmten Domain aber überhaupt in
>> virtual_mailbox_maps nachsieht, muss die Domain dieser Adresse in
>> virtual_mailbox_domains eingetragen sein. Da das bei allen drei Domains
>> der Fall ist, muss ich also zwingend in main.cf das eintragen:
>>
>> virtual_mailbox_domains = firstdomain.at, seconddomain.at, thirddomain.at

>
> Die Tatsachen 2 und 3 ergeben zusammen also einen zwingenden Grund,
> folgendes in main.cf einzutragen:
> virtual_alias_domains = firstdomain.at, seconddomain.at, thirddomain.at
> virtual_mailbox_domains = firstdomain.at, seconddomain.at, thirddomain.at
>
> Das widerspricht aber der Tatsache 1, die wird bereits außer Streit gestellt
> haben. Also muss in der Tatsache 2 oder der Tatsache 3 ein Fehler sein. Ich
> weiß aber nicht wo, und weiß nicht was der Fehler ist. Und genau hier
> benötige ich Hilfe.

Wenn da ein Fehler ist kann es ja wohl keine Tatsache sein. Der Fehler
war übrigens in 2.

Virtual aliasing solves one problem: it allows each domain to have its
own info mail address. But there still is one drawback: each virtual
address is aliased to a UNIX system account. As you add more virtual
addresses you also add more UNIX system accounts. The next section
eliminates this problem. [virtual_mailbox siehe link oben]

Also, nimm virtual_mailbox_domains... dann klappts. Für
virtual_alias_domains hast Du keine Verwendung.

virtual_alias_maps kannst du trotzdem verwenden.
Ich nehme dafür aber lieber die eingebauten Möglichkeiten von DBMail.
Dadurch dass das ganze System eh auf Datenbankbasis läuft ist jede Map
automatisch in Postfix aktuell und da DBMail selber die
Weiterleitungen verwaltet braucht man Postfix nicht mehr
umzukonfigurieren.

Gruß,
Anniyka Wandersmann


Mehr Informationen über die Mailingliste postfix-users