Postfix/Zustellung: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
Wie Postfix E-Mails zustellt | |||
= Überblick = | |||
* Sobald eine Nachricht die [http://www.postfix.org/QSHAPE_README.html#incoming_queue Eingangswarteschlange] der nächste Schritt um es zu liefern. | * Sobald eine Nachricht die [http://www.postfix.org/QSHAPE_README.html#incoming_queue Eingangswarteschlange] der nächste Schritt um es zu liefern. | ||
* Die Abbildung zeigt die Hauptkomponenten von Postfix Geräte zur Postzustellung. | * Die Abbildung zeigt die Hauptkomponenten von Postfix Geräte zur Postzustellung. | ||
Zeile 74: | Zeile 76: | ||
|} | |} | ||
= Der Warteschlangenmanager = | |||
* (der [http://www.postfix.org/qmgr.8.html Serverprozess qmgr(8) ]in der Abbildung) ist das Herzstück der Mail-Zustellung von Postfix. | * (der [http://www.postfix.org/qmgr.8.html Serverprozess qmgr(8) ]in der Abbildung) ist das Herzstück der Mail-Zustellung von Postfix. | ||
* Es kontaktiert die [http://www.postfix.org/smtp.8.html smtp(8) ], [http://www.postfix.org/lmtp.8.html lmtp(8)], [http://www.postfix.org/local.8.html local(8) ], [http://www.postfix.org/virtual.8.html virtual(8) ], [http://www.postfix.org/pipe.8.html pipe(8) ], [http://www.postfix.org/discard.8.html discard(8) ]or [http://www.postfix.org/error.8.html error(8) ]Zusteller und sendet eine Zustellanforderung für einen oder mehr Empfängeradressen. | * Es kontaktiert die [http://www.postfix.org/smtp.8.html smtp(8) ], [http://www.postfix.org/lmtp.8.html lmtp(8)], [http://www.postfix.org/local.8.html local(8) ], [http://www.postfix.org/virtual.8.html virtual(8) ], [http://www.postfix.org/pipe.8.html pipe(8) ], [http://www.postfix.org/discard.8.html discard(8) ]or [http://www.postfix.org/error.8.html error(8) ]Zusteller und sendet eine Zustellanforderung für einen oder mehr Empfängeradressen. | ||
Zeile 85: | Zeile 87: | ||
* Die Strategie des Warteschlangenmanagers für verzögerte E-Mail-Zustellversuche sind in [http://www.postfix.org/QSHAPE_README.html QSHAPE_README ]und [http://www.postfix.org/TUNING_README.html TUNING_README- ]Dokumente. | * Die Strategie des Warteschlangenmanagers für verzögerte E-Mail-Zustellversuche sind in [http://www.postfix.org/QSHAPE_README.html QSHAPE_README ]und [http://www.postfix.org/TUNING_README.html TUNING_README- ]Dokumente. | ||
= Der [http://www.postfix.org/trivial-rewrite.8.html trivial-rewrite(8) ]-Server = | |||
* löst jeden Empfänger auf Adresse gemäß ihrer lokalen oder entfernten Adressklasse, wie definiert im [http://www.postfix.org/ADDRESS_CLASS_README.html ADDRESS_CLASS_README ]. | * löst jeden Empfänger auf Adresse gemäß ihrer lokalen oder entfernten Adressklasse, wie definiert im [http://www.postfix.org/ADDRESS_CLASS_README.html ADDRESS_CLASS_README ]. | ||
* Zusätzliche Routing-Informationen kann mit der optionalen [http://www.postfix.org/transport.5.html transport(5) ]Tabelle | * Zusätzliche Routing-Informationen kann mit der optionalen [http://www.postfix.org/transport.5.html transport(5) ]Tabelle | ||
Zeile 91: | Zeile 93: | ||
* Mail für solche Empfänger ist mit einer Erklärung an den Absender zurückgeschickt. | * Mail für solche Empfänger ist mit einer Erklärung an den Absender zurückgeschickt. | ||
= Der [http://www.postfix.org/smtp.8.html smtp(8) ]-Client = | |||
* sucht nach einer Liste von Mail-Exchangern dem Zielhost, sortiert die Liste nach Präferenz und versucht es mit jedem Server der Reihe nach, bis er einen Server findet, der antwortet. | * sucht nach einer Liste von Mail-Exchangern dem Zielhost, sortiert die Liste nach Präferenz und versucht es mit jedem Server der Reihe nach, bis er einen Server findet, der antwortet. | ||
* Es dann kapselt den Absender, den Empfänger und den Nachrichteninhalt nach Bedarf durch das SMTP-Protokoll; dies beinhaltet die Umwandlung von 8-Bit-MIME in 7-Bit-Codierung. | * Es dann kapselt den Absender, den Empfänger und den Nachrichteninhalt nach Bedarf durch das SMTP-Protokoll; dies beinhaltet die Umwandlung von 8-Bit-MIME in 7-Bit-Codierung. | ||
= Der [http://www.postfix.org/lmtp.8.html lmtp(8) ]-Client = | |||
* spricht ein dem SMTP ähnliches Protokoll ist für die Zustellung an Postfachserver wie Cyrus optimiert. Das Vorteil dieser Einrichtung ist, dass eine Postfix-Maschine mehrere füttern kann Postfachserver über LMTP. Das Gegenteil gilt auch: Eins Mailbox-Server kann über LMTP von mehreren Postfix-Rechnern gespeist werden. | * spricht ein dem SMTP ähnliches Protokoll ist für die Zustellung an Postfachserver wie Cyrus optimiert. Das Vorteil dieser Einrichtung ist, dass eine Postfix-Maschine mehrere füttern kann Postfachserver über LMTP. Das Gegenteil gilt auch: Eins Mailbox-Server kann über LMTP von mehreren Postfix-Rechnern gespeist werden. | ||
= Der [http://www.postfix.org/local.8.html local(8) ]Zustellungsagent = | |||
* qmail-kompatible maildir-Dateien, systemweite [http://www.postfix.org/aliases.5.html Aliase im Sendmail-Stil(5) ]Datenbanken und benutzerspezifische .forward-Dateien im Sendmail-Stil. | * qmail-kompatible maildir-Dateien, systemweite [http://www.postfix.org/aliases.5.html Aliase im Sendmail-Stil(5) ]Datenbanken und benutzerspezifische .forward-Dateien im Sendmail-Stil. | ||
* Mehrere lokale Delivery Agents können parallel betrieben werden, aber Parallel Delivery auf denselben Benutzer beschränkt ist. | * Mehrere lokale Delivery Agents können parallel betrieben werden, aber Parallel Delivery auf denselben Benutzer beschränkt ist. | ||
Zeile 105: | Zeile 107: | ||
** oder Sie können delegieren Zustellung an einen anderen Postfix-Zusteller. | ** oder Sie können delegieren Zustellung an einen anderen Postfix-Zusteller. | ||
= Der [http://www.postfix.org/virtual.8.html virtual(8) ]-Zustellungsagent = | |||
* ist eine Bare-Bones-Zustellung Agent, der an eine Mailbox im UNIX-Stil oder ein maildir im Stil von qmail liefert nur Dateien. | * ist eine Bare-Bones-Zustellung Agent, der an eine Mailbox im UNIX-Stil oder ein maildir im Stil von qmail liefert nur Dateien. | ||
* Dieser Zustellagent kann Post für mehrere zustellen Domains, was es besonders geeignet macht, viele zu hosten kleine Domänen auf einer einzelnen Maschine. | * Dieser Zustellagent kann Post für mehrere zustellen Domains, was es besonders geeignet macht, viele zu hosten kleine Domänen auf einer einzelnen Maschine. | ||
* Dies ist in der beschrieben [http://www.postfix.org/VIRTUAL_README.html VIRTUAL_README- ]Dokument. | * Dies ist in der beschrieben [http://www.postfix.org/VIRTUAL_README.html VIRTUAL_README- ]Dokument. | ||
= Der [http://www.postfix.org/pipe.8.html Pipe(8) ]-Mailer = | |||
* ist die ausgehende Schnittstelle zu anderer Mail Verarbeitungssysteme (der Postfix- [http://www.postfix.org/sendmail.1.html sendmail(1) ]Befehl eingehende Schnittstelle). | * ist die ausgehende Schnittstelle zu anderer Mail Verarbeitungssysteme (der Postfix- [http://www.postfix.org/sendmail.1.html sendmail(1) ]Befehl eingehende Schnittstelle). | ||
* Die Schnittstelle ist UNIX-kompatibel | * Die Schnittstelle ist UNIX-kompatibel |
Version vom 30. Mai 2022, 11:31 Uhr
Wie Postfix E-Mails zustellt
Überblick
- Sobald eine Nachricht die Eingangswarteschlange der nächste Schritt um es zu liefern.
- Die Abbildung zeigt die Hauptkomponenten von Postfix Geräte zur Postzustellung.
- Namen gefolgt von einer Nummer sind Postfix Befehle oder Serverprogramme, während nicht nummerierte Namen innen schattiert sind Bereiche stellen Postfix-Warteschlangen dar.
trivial-rewrite(8) | smtp(8) | -> | Network | |||||||
/ | ||||||||||
|
- | lmtp(8) | -> | Network | ||||||
/ | ||||||||||
incoming | -> | active | -> | qmgr(8) | --- | local(8) | -> | File, command | ||
|
\ | |||||||||
- | virtual(8) | -> | File | |||||||
deferred | \ | |||||||||
pipe(8) | -> | Command |
Der Warteschlangenmanager
- (der Serverprozess qmgr(8) in der Abbildung) ist das Herzstück der Mail-Zustellung von Postfix.
- Es kontaktiert die smtp(8) , lmtp(8), local(8) , virtual(8) , pipe(8) , discard(8) or error(8) Zusteller und sendet eine Zustellanforderung für einen oder mehr Empfängeradressen.
- Die Discard(8)- und Error(8) -Zustellung Agenten sind etwas Besonderes:
- Sie verwerfen oder senden alle E-Mails zurück und sind es nicht in der Abbildung oben gezeigt.
- Der Warteschlangenmanager verwaltet eine kleine aktive Warteschlange mit der Nachrichten, die für die Zustellung geöffnet wurden.
- Die aktive Warteschlange fungiert als ein begrenztes Fenster für potenziell große eingehende oder zurückgestellte Warteschlangen .
- Die eingeschränkte aktive Warteschlange verhindert die Ausführung des Warteschlangenmanagers aus Speicher unter hoher Last.
- Der Warteschlangenmanager verwaltet eine separate zurückgestellte Warteschlange für Mail die nicht zugestellt werden können, so dass ein großer Mail-Rückstau nicht auftritt normale Warteschlangenzugriffe verlangsamen.
- Die Strategie des Warteschlangenmanagers für verzögerte E-Mail-Zustellversuche sind in QSHAPE_README und TUNING_README- Dokumente.
Der trivial-rewrite(8) -Server
- löst jeden Empfänger auf Adresse gemäß ihrer lokalen oder entfernten Adressklasse, wie definiert im ADDRESS_CLASS_README .
- Zusätzliche Routing-Informationen kann mit der optionalen transport(5) Tabelle
- Das trivial-rewrite(8) -Server fragt optional die relocated(5) -Tabelle ab für Empfänger, deren Adresse sich geändert hat
- Mail für solche Empfänger ist mit einer Erklärung an den Absender zurückgeschickt.
Der smtp(8) -Client
- sucht nach einer Liste von Mail-Exchangern dem Zielhost, sortiert die Liste nach Präferenz und versucht es mit jedem Server der Reihe nach, bis er einen Server findet, der antwortet.
- Es dann kapselt den Absender, den Empfänger und den Nachrichteninhalt nach Bedarf durch das SMTP-Protokoll; dies beinhaltet die Umwandlung von 8-Bit-MIME in 7-Bit-Codierung.
Der lmtp(8) -Client
- spricht ein dem SMTP ähnliches Protokoll ist für die Zustellung an Postfachserver wie Cyrus optimiert. Das Vorteil dieser Einrichtung ist, dass eine Postfix-Maschine mehrere füttern kann Postfachserver über LMTP. Das Gegenteil gilt auch: Eins Mailbox-Server kann über LMTP von mehreren Postfix-Rechnern gespeist werden.
Der local(8) Zustellungsagent
- qmail-kompatible maildir-Dateien, systemweite Aliase im Sendmail-Stil(5) Datenbanken und benutzerspezifische .forward-Dateien im Sendmail-Stil.
- Mehrere lokale Delivery Agents können parallel betrieben werden, aber Parallel Delivery auf denselben Benutzer beschränkt ist.
- Der örtliche (8) Lieferdienst hat Haken für alternative Formen von lokale Zustellung:
- Sie können es so konfigurieren, dass es an Postfachdateien zugestellt wird in Benutzerstammverzeichnissen können Sie es so konfigurieren, dass es das Postfach delegiert Übermittlung an einen externen Befehl wie procmail
- oder Sie können delegieren Zustellung an einen anderen Postfix-Zusteller.
Der virtual(8) -Zustellungsagent
- ist eine Bare-Bones-Zustellung Agent, der an eine Mailbox im UNIX-Stil oder ein maildir im Stil von qmail liefert nur Dateien.
- Dieser Zustellagent kann Post für mehrere zustellen Domains, was es besonders geeignet macht, viele zu hosten kleine Domänen auf einer einzelnen Maschine.
- Dies ist in der beschrieben VIRTUAL_README- Dokument.
Der Pipe(8) -Mailer
- ist die ausgehende Schnittstelle zu anderer Mail Verarbeitungssysteme (der Postfix- sendmail(1) Befehl eingehende Schnittstelle).
- Die Schnittstelle ist UNIX-kompatibel
- Sie bietet Informationen auf der Kommandozeile und im Standard-Eingabestrom, und erwartet einen Prozess-Exit-Statuscode wie in <sysexits.h> definiert.
- Beispiele für die Zustellung über den Pipe(8) -Mailer finden Sie in der MAILDROP_README und UUCP_README- Dokumente.