Andere

Postfix Virtual Domain Hosting Howto

22.09.2016

Postfix Virtual Domain Hosting Howto
Postfix Virtual Domain Hosting Howto
Zweck dieses Dokuments

Dieses Dokument benotigt Postfix-version 2.0 oder hoher.

Dieses Dokument gibt einen uberblick daruber, wie Postfix genutzt werden kann fur das hosting mehrerer Internet-domains, sowohl fur die endgultige ubergabe auf die Maschine selbst und zum Zweck der Weiterleitung an Destinationen anderswo.

Der text beschreibt nicht nur Mechanismen, die eingebaut sind Postfix, sondern gibt auch Hinweise fur die Verwendung von nicht-Postfix mail delivery software.

folgende Themen werden behandelt:

Kanonische versus gehostet Vergleich zu anderen domains

die Meisten Postfix-Systeme sind final destination fur nur ein paar domain-Namen. Diese umfassen den Hostnamen und die IP-Adressen] von der Maschine, Postfix lauft, und manchmal gehoren auch die ubergeordnete Domane der hostname. Der Rest dieses Dokuments beziehen sich auf diese Domanen die kanonischen domains. Sie sind in der Regel umgesetzt mit dem Postfix local domain-Adresse, Klasse, wie definiert in den ADDRESS_CLASS_README-Datei.

Neben den kanonischen domains. Postfix kann so konfiguriert werden final destination fur eine beliebige Anzahl zusatzlicher Domanen. Diese domains sind aufgerufen, gehostet, da Sie nicht unmittelbar im Zusammenhang mit dem Namen der Maschine selbst. Gehostete domains werden in der Regel umgesetzt mit der virtual alias domain-Adresse, Klasse und/oder mit der virtuellen mailbox-domain-Adresse, Klasse, wie definiert in den ADDRESS_CLASS_README-Datei.

Aber warten Sie! Es gibt noch mehr. Postfix kann so konfiguriert werden als backup-MX host fur andere Domanen. In diesem Fall Postfix ist nicht das endgultige Ziel fur diese Domanen. Es werden lediglich in die Warteschlange der E-mail, wenn der primare MX host down ist, und leitet die E-mail, wenn der primare MX host verfugbar wird. Diese Funktion wird implementiert, mit der die relais-Domane-Adresse, Klasse, wie definiert in den ADDRESS_CLASS_README-Datei.

Endlich, Postfix kann so konfiguriert werden, als ein transit-host fur das senden von mail uber das internet. Offensichtlich, Postfix ist nicht letztes Ziel fur diese mail. Diese Funktion ist nur fur autorisierte Kunden und/oder Benutzern, und wird implementiert, indem die Standard-domain-Adresse, Klasse, wie definiert in den ADDRESS_CLASS_README-Datei.

Lokale Dateien oder Netzwerk-Datenbank

Die Beispiele in diesem text mit Tabellen-lookups von lokalen Dateien wie DBM oder Berkeley DB. Diese sind einfach zu Debuggen mit der postmap Befehl:

Beispiel: postmap -q info@example.com hash :/etc/postfix/virtual

Sehen Sie die Dokumentation in LDAP_README. MYSQL_README und PGSQL_README fur gewusst wie: ersetzen Sie lokale Dateien von Datenbanken. Der Leser wird dringend empfohlen, das system fur die Arbeit mit lokalen Dateien vor der Migration, Netzwerk-Datenbank, und nutzen Sie die postmap — Befehl, um zu uberprufen, dass die Netzwerk-Datenbank-lookups erzeugen, die exakt die gleichen Ergebnisse wie lokale Datei-lookup.

Beispiel: postmap -q info@example.com ldap :/etc/postfix/virtual.cf

so einfach Wie moglich: shared domains, UNIX system accounts

Die einfachste Methode, um als host fur eine zusatzliche domain, die domain-Namen der domains aufgelistet in der Postfix mydestination-Konfigurations-parameter, und fugen Sie die Namen der Benutzer auf dem UNIX-Passwort-Datei.

Dieser Ansatz macht keine Unterscheidung zwischen kanonischen und gehosteten domains. Jeder Benutzername E-mail empfangen konnen, in jeder Domane.

In den Beispielen verwenden wir «Beispiel.com» wie die domain, die gehostet wird auf dem lokalen Postfix-Maschine.

Die Grenzen dieses Ansatzes sind:

  • insgesamt fehlende Trennung: E-mail fur info@my.host.name geliefert wird das UNIX system-Konto als mail for info@example.com.
  • Mit Benutzer in der UNIX-Passwort-Datei, in der Verwaltung von einer gro?en Anzahl von Benutzern wird unbequem.

Die Beispiele, die Folgen, bieten Losungen fur beide Einschrankungen.

Postfix virtual ALIAS example: separate domains, UNIX system accounts

Mit dem Ansatz in diesem Abschnitt beschrieben, jede gehostete domain eine eigene info etc. E-Mail-Adresse. Allerdings ist es immer noch verwendet die UNIX-system-accounts fur lokale Postfach Lieferungen.

Mit virtual alias domains. jede gehostete Adresse mit alias auf einem lokalen UNIX-system-Konto oder ein remote-Adresse. Das Beispiel unten zeigt, wie dieser Mechanismus fur die example.com domain.

Hinweise:

Zeile 2: die virtual_alias_domains Einstellung sagt Postfix, dass example.com ist eine so genannte virtual alias domain. Wenn du weglassen, diese Einstellung, dann wird Postfix mail ablehnen (relay access denied) oder nicht in der Lage zu liefern (E-mail fur example.com loops back to myself).

Zeilen 3-8: /etc/postfix/virtual-Datei enthalt die virtuellen Aliase. Mit dem Beispiel oben, E-mail fur postmaster@example.com geht an den lokalen postmaster, wahrend Sie E-mail fur info@example.com geht das UNIX-Konto joe, und mail fur sales@example.com geht das UNIX-Konto jane. E-Mail fur alle anderen Adressen in example.com wird abgelehnt mit der Fehlermeldung «User unknown».

Zeile 10: der auskommentierten Eintrag (text nach #) zeigt, wie eine Umsetzung eine catch-all-virtual-alias erhalt, dass die mail fur alle example.com Adresse nicht in der Liste der virtuellen alias-Datei. Dies ist nicht ohne Risiko. Spammer heutzutage senden von E-Mails aus (oder E-mail) alle moglichen Namen, die Sie an denken konnen. Eine catch-all-Postfach, erhalten Sie wahrscheinlich viele spam-Nachrichten, und viele bounces fur spam-Nachrichten, die geschickt wurden, im Namen von anything@example.com.

Fuhren Sie den Befehl aus «postmap /etc/postfix/virtual » nach dem andern der virtuellen Datei, und fuhren Sie den Befehl aus «postfix reload » nach dem andern der main.cf-Datei.

Hinweis: die virtuellen Aliase auflosen kann, um eine lokale Adresse oder an eine remote-Adresse, oder beide. Sie don’t haben, um zu beheben, um UNIX-system-accounts auf Ihrem Computer.

Mehr details uber die virtual-alias-Datei finden Sie in der virtuellen(5) manual page, darunter mehrere Adressen auf der rechten Seite.

Virtuelles aliasing lost ein problem: es kann jede domain eine eigene info-E-mail-Adresse. Aber es ist immer noch ein Nachteil: jede virtuelle Adresse ist alias auf ein UNIX-system-Konto. So fugen Sie mehrere virtuelle Adressen, die Sie auch hinzufugen, mehr UNIX-system-accounts. Im nachsten Abschnitt wird dieses problem beseitigt.

Postfix virtual MAILBOX example: separate domains, non-UNIX accounts

Als system-Techniker mehr und mehr domains und Benutzer, wird es weniger wunschenswert, um jedem Benutzer eine eigene UNIX-system-Konto.

Mit dem Postfix virtual(8) Postfach delivery agent, jede Empfanger-Adresse kann seine eigenen virtuellen Postfach. Im Gegensatz zu virtual-alias-domains, virtual-mailbox-domains mussen nicht die plumpe ubersetzung von einzelnen Empfanger-Adressen in eine andere Adresse, und der Besitzer einer virtuellen mailbox-Adresse muss nicht auf einem UNIX-system-Konto.

Der Postfix-virtual(8) Postfach delivery agent sucht das Postfach des Benutzers Pfadname, uid und gid uber separate Tabellen, die durchsucht werden mit dem Empfanger’s E-mail-Adresse. Maildir-Stil Lieferung aktiviert ist durch die Kundigung der mailbox-Pfadnamen mit «/».

Wenn Sie finden die Idee mehrere Tabellen storend empfunden werden, denken Sie daran, dass Sie zu migrieren, konnen die Informationen (sobald es funktioniert), um eine SQL-Datenbank. Wenn Sie nehmen diesen Weg, sicher sein zu uberprufen, die «lokale Dateien oder Datenbanken» Abschnitt am Anfang dieses Dokuments.

Hier ist ein Beispiel einer virtuellen mailbox-domain «Beispiel.com»:

Hinweise:

Zeile 2: Die virtual_mailbox_domains Einstellung sagt Postfix, dass example.com ist eine sogenannte virtuelle mailbox-domain. Wenn du weglassen, diese Einstellung, dann wird Postfix mail ablehnen (relay access denied) oder nicht in der Lage zu liefern (E-mail zum Beispiel.com-loops back to myself).

NIE eine Liste virtuelle MAILBOX-domain-Namen eine virtuelle domain-ALIAS!

Zeile 3: Die virtual_mailbox_base parameter gibt ein Prafix fur alle virtuellen Postfach Pfadnamen. Dies ist ein Sicherheitsmechanismus fur den Fall dass jemand einen Fehler macht. Es verhindert, dass E-mail nicht zugestellt, die alle uber die Datei system.

die Linien 4, 10-15: Die virtual_mailbox_maps parameter gibt die lookup-Tabelle mit Postfach (oder maildir) Pfadnamen, indiziert durch die virtuelle E-mail-Adresse. In diesem Beispiel E-mail fur info@example.com geht die mailbox /var/mail/vhosts/Beispiel.com/info, wahrend Sie E-mail fur sales@example.com geht das maildir unter /var/mail/vhosts/Beispiel.com/sales/.

Zeile 5: Die virtual_minimum_uid gibt eine untere Schranke auf die mailbox oder maildir-Besitzer’s UID. Dies ist ein Sicherheitsmechanismus fur den Fall dass jemand einen Fehler macht. Es verhindert, dass E-mail nicht geschrieben, um sensible Dateien.

die Linien 6, 7: Die virtual_uid_maps und virtual_gid_maps Parameter angeben, dass die virtuellen Postfacher sind im Besitz einer festen uid und gid 5000. Wenn dieses nicht ist, was Sie wollen, geben Sie lookup-Tabellen, die durchsucht werden, indem der Empfanger’s E-mail-Adresse.

Zeile 14: Der auskommentierten Eintrag (text nach #) zeigt, wie eine Umsetzung eine catch-all-virtual-mailbox-Adresse. Bereit sein, zu erhalten eine Menge von spam, sowie prallte spam gesendet wurde, in den Namen von anything@example.com.

NIE legen Sie eine virtuelle MAILBOX wild-card in der virtuellen ALIAS-Datei!!

die Zeilen 8, 17, 18: Wie Sie sehen, ist es moglich, verschiedene virtuelle Aliase mit virtuellen Mailboxen. Wir verwenden diese Funktion zum umleiten von E-mail zum Beispiel.com’s postmaster-Adresse an den lokalen postmaster. Sie konnen den gleichen Mechanismus zum umleiten von einer Adresse an eine remote-Adresse.

Zeile 18: in Diesem Beispiel wird davon ausgegangen, dass im main.vgl. $myorigin ist aufgefuhrt unter mydestination-parameter-Einstellung. Wenn das nicht der Fall ist, geben Sie eine explizite domain-Namen auf der rechten Seite der virtual alias table entries oder andere mail geht an die falsche domain.

Fuhren Sie den Befehl aus «postmap /etc/postfix/virtual » nach dem andern der virtuellen Datei, ausfuhren «postmap /etc/postfix/vmailbox » nach dem andern der Datei vmailbox, und fuhren Sie den Befehl aus «postfix reload » nach dem andern der main.cf-Datei.

Hinweis: E-mail-ubermittlung geschieht mit dem Empfanger’s UID/GID-Privilegien angegeben mit virtual_uid_maps und virtual_gid_maps. Postfix 2.0 und fruheren Versionen nicht schaffen mailDIRs in Welt-schreibbaren ubergeordneten Verzeichnissen; erstellen Sie Sie im Voraus, bevor Sie Sie verwenden konnen. Postfix in der Lage sein kann zum erstellen von mailBOX-Dateien von selbst, je nach ubergeordneten Verzeichnis Schreibrechte, aber es ist sicherer zum erstellen von mailBOX-Dateien vor der Zeit.

Mehr details uber die virtuellen mailbox delivery agent in der virtuellen(8) manual Seite.

Non-Postfix mailbox store: separate domains, non-UNIX accounts

Dies ist eine variation auf dem Postfix virtual mailbox example. Wieder, jedes gehostete Adresse kann ein eigenes Postfach. Allerdings werden die meisten Parameter fur die Steuerung der virtuellen(8) delivery agent nicht mehr anwendbar: nur virtual_mailbox_domains und virtual_mailbox_maps bleiben in Kraft. Diese Parameter sind erforderlich, um die mail ablehnen, fur unbekannte Empfanger.

Wahrend non-Postfix software verwendet wird, die fur die Zustellung, einige Postfix-Konzepte sind immer noch erforderlich, um zu kleben alles zusammen. Weitere Hintergrundinformationen zu diesem Kleber konnen Sie einen Blick auf die virtuelle mailbox-domain-Klasse definiert in der ADDRESS_CLASS_README-Datei.

Der text in diesem Abschnitt wird beschrieben, wie die Sachen Aussehen sollten von Postfix’s Sicht. Sehen CYRUS_README oder MAILDROP_README fur spezifische Informationen uber Cyrus oder uber Courier-maildrop.

Hier ist ein Beispiel fur einen gehosteten domain example.com das liefert eine nicht-Postfix-delivery-agent:

Hinweise:

Zeile 2: Bei Lieferung an eine non-Postfix mailbox store fur hosted domains. die virtual_transport parameter in der Regel legt das Postfix LMTP-client, oder der name eines Meisters.cf-Eintrag fuhrt zu non-Postfix software via pipe delivery agent. Typische Beispiele sind (nur eins):

Postfix-kommt bereit, mit Unterstutzung fur LMTP. Und ein Beispiel Empfangsadresse Lieferung Methode ist bereits in der Standard-Postfix master.cf-Datei. Finden Sie die MAILDROP_README Dokument fur weitere details.

Zeile 3: Die virtual_mailbox_domains Einstellung sagt Postfix, dass example.com geliefert wird uber den virtual_transport, wurde im vorigen Absatz. Wenn Sie dies auslassen virtual_mailbox_domains Einstellung, dann wird Postfix entweder ablehnen von E-mail (relay access denied) oder nicht in der Lage zu liefern (E-mail fur example.com loops back to myself).

NIE eine Liste virtuelle MAILBOX-domain-Namen eine virtuelle domain-ALIAS!

die Linien 4, 7-13: Die virtual_mailbox_maps parameter gibt die lookup-Tabelle mit allen gultigen Adressen der Empfanger. Das lookup-Ergebnis Wert ist, werden ignoriert Postfix. Im obigen Beispiel info@example.com und sales@example.com aufgefuhrt sind, als gultige Adressen; andere E-mail fur example.com abgelehnt wird mit «User unknown», die von der Postfix-SMTP-server. Es’s nach Links, um den nicht-Postfix-delivery-agent abzulehnen, nicht vorhandene Empfanger von lokalen Veroffentlichungen oder von lokalen alias-Erweiterung. Wenn Sie beabsichtigen, die Verwendung der LDAP -, MySQL oder PgSQL anstelle von lokalen Dateien, sicher sein, zu uberprufen, die «lokale Dateien oder Datenbanken» Abschnitt am Anfang dieses Dokuments!

Zeile 12: Der auskommentierten Eintrag (text nach #) zeigt, wie man informieren mochte Postfix von der Existenz einer catch-all-Adresse. Wieder, das lookup-Ergebnis ignoriert wird von Postfix.

NIE legen Sie eine virtuelle MAILBOX wild-card in der virtuellen ALIAS-Datei!!

Hinweis: geben Sie einen Platzhalter in virtual_mailbox_maps. dann mussen Sie noch konfigurieren der non-Postfix mailbox store zu erhalten E-mail fur jede Adresse in dieser Domane.

Linien 5, 15, 16: Wie Sie oben sehen, ist es moglich, verschiedene virtuelle Aliase mit virtuellen Mailboxen. Wir verwenden diese Funktion zum umleiten von E-mail zum Beispiel.com’s postmaster-Adresse an den lokalen postmaster. Sie konnen den gleichen Mechanismus zum umleiten von Adressen, um eine lokale oder remote-Adresse.

Zeile 16: in Diesem Beispiel wird davon ausgegangen, dass im main.vgl. $myorigin ist aufgefuhrt unter mydestination-parameter-Einstellung. Wenn das nicht der Fall ist, geben Sie eine explizite domain-Namen auf der rechten Seite der virtual alias table entries oder andere mail geht an die falsche domain.

Fuhren Sie den Befehl aus «postmap /etc/postfix/virtual » nach dem andern der virtuellen Datei, ausfuhren «postmap /etc/postfix/vmailbox » nach dem andern der Datei vmailbox, und fuhren Sie den Befehl aus «postfix reload » nach dem andern der main.cf-Datei.

E-Mail-Weiterleitungs-domains

Einige Anbieter von host-domains, die keine (oder nur wenige) lokale Postfacher. Der Hauptzweck dieser domains ist die Weiterleitung von E-Mails an anderer Stelle. Das folgende Beispiel zeigt, wie Sie example.com als E-mail-Weiterleitung domain:

Hinweise:

Zeile 2: Die virtual_alias_domains Einstellung sagt Postfix, dass example.com ist eine so genannte virtual alias domain. Wenn du weglassen, diese Einstellung, dann wird Postfix mail ablehnen (relay access denied) oder nicht in der Lage zu liefern (E-mail fur example.com loops back to myself).

Zeilen 3-11: /etc/postfix/virtual-Datei enthalt die virtuellen Aliase. Mit dem Beispiel oben, E-mail fur postmaster@example.com geht an den lokalen postmaster, wahrend Sie E-mail fur joe@example.com geht an die remote-Adresse joe@irgendwo, und mail fur jane@example.com geht an die remote-Adresse jane@irgendwo-anders. E-Mail fur alle anderen Adressen in example.com wird abgelehnt mit der Fehlermeldung «User unknown».

Zeile 10: Der auskommentierten Eintrag (text nach #) zeigt, wie eine Umsetzung eine catch-all-virtual-alias-mail erhalt fur jedes Beispiel.com-Adresse nicht in der Liste der virtuellen alias-Datei. Dies ist nicht ohne Risiko. Spammer heutzutage senden von E-Mails aus (oder E-mail) alle moglichen Namen, die Sie an denken konnen. Eine catch-all-Postfach, erhalten Sie wahrscheinlich viele spam-Nachrichten, und viele bounces fur spam-Nachrichten, die geschickt wurden, im Namen von anything@example.com.

Fuhren Sie den Befehl aus «postmap /etc/postfix/virtual » nach dem andern der virtuellen Datei, und fuhren Sie den Befehl aus «postfix reload » nach dem andern der main.cf-Datei.

Mehr details uber die virtual-alias-Datei finden Sie in der virtuellen(5) manual page, darunter mehrere Adressen auf der rechten Seite.

Mailinglisten

Die Beispiele, die gegeben wurden oben schon zeigen, wie man direct mail fur virtuelle postmaster-Adressen auf einen lokalen postmaster. Sie konnen dieselbe Methode verwenden, um direct-mail-Adresse an eine lokale oder remote-Adresse.

Es gibt eine wichtige Einschrankung: die virtuellen Aliasen und virtuellen Mailboxen konnen’t direkt liefern zu mailing-list-Manager wie majordomo. Die Losung ist die Einrichtung von virtuellen Aliase, die direkt die virtuellen Adressen des lokalen delivery-agent:

in Diesem Beispiel wird davon ausgegangen, dass im main.vgl. $myorigin ist aufgefuhrt unter mydestination-parameter-Einstellung. Wenn das nicht der Fall ist, geben Sie eine explizite domain-Namen auf der rechten Seite der virtual alias table entries oder andere mail geht an die falsche domain.

Mehr Informationen uber den Postfix local delivery agent finden Sie in der ortlichen(8) manual Seite.

Warum wird in diesem Beispiel verwenden Sie eine ungeschickte virtual alias anstelle einer eleganter transport-mapping? Der Grund dafur ist, dass E-Mails fur die virtuellen mailing-Liste abgelehnt werden wurde mit «User unknown». Um die transport-mapping arbeiten, man brauchte noch eine Reihe von virtual-alias oder virtual mailbox table-Eintragen.

  • Im Fall einer virtual alias domain. es musste ein identity mapping von jedem mailing-Listen-Adresse zu sich selbst.
  • Im Falle einer virtuellen mailbox-domain. es musste ein dummy-Postfach fur jeden mailing-Listen-Adresse.

diese Funktion

In Reihenfolge zum einrichten eines autoreply fur virtuelle Empfanger wahrend noch die Bereitstellung von E-mail als normal, richten Sie eine Regel in eine virtuelle alias-Tabelle:

Dies liefert die mail an den Empfanger aus und sendet eine Kopie der E-mail an die Adresse, die produziert automatische Antworten. Die Adresse kann gewartet werden, auf einem anderen Rechner, oder es kann gewartet werden vor Ort durch die Einrichtung eines transport-map-Eintrag, dass die Rohre alle E-Mails fur autoreply.mydomain .tld in einem Skript sendet eine automatische Antwort an den Absender zuruck.

Dies ruft /Pfad/zu/autoreply mit der Absender-Adresse und der user@domain.tld Empfanger-Adresse auf der Kommandozeile.

weitere Informationen finden Sie unter das Rohr(8) manual page, und die Kommentare in der Postfix master.cf-Datei.

Beschreibung des Artikels: virtual-hosting

Quelle: Postfix Virtual Domain Hosting Howto

Також ви можете прочитати