Postfix/Architektur: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 35: Zeile 35:
Wenn eine Nachricht in das Postfix-Mailsystem eingeht, ist die erste Station Auf der Innenseite befindet sich die [http://www.postfix.org/QSHAPE_README.html#incoming_queue Eingangswarteschlange ]. Die folgende Abbildung zeigt die Hauptprozesse, die mit neuer E-Mail verbunden sind. Namen gefolgt von eine Nummer sind Postfix-Befehle oder Serverprogramme, während sie nicht nummeriert sind Namen in schattierten Bereichen stehen für Postfix-Warteschlangen.  
Wenn eine Nachricht in das Postfix-Mailsystem eingeht, ist die erste Station Auf der Innenseite befindet sich die [http://www.postfix.org/QSHAPE_README.html#incoming_queue Eingangswarteschlange ]. Die folgende Abbildung zeigt die Hauptprozesse, die mit neuer E-Mail verbunden sind. Namen gefolgt von eine Nummer sind Postfix-Befehle oder Serverprogramme, während sie nicht nummeriert sind Namen in schattierten Bereichen stehen für Postfix-Warteschlangen.  


{| style="border-spacing:0;width:11.954cm;"
{| | class="wikitable sortable"
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/trivial-rewrite.8.html trivial-rewrite(8)]  
| align=center | [http://www.postfix.org/trivial-rewrite.8.html trivial-rewrite(8)]  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="border:none;padding:0.049cm;" | Network  
| | Network  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtpd.8.html smtpd(8)]  
| align=center | [http://www.postfix.org/smtpd.8.html smtpd(8)]  
| style="border:none;padding:0.049cm;" |  
| |  
{| align="center" style="border-spacing:0;width:1.538cm;"
{| | class="wikitable sortable"align="center"  
|- style="border:none;padding:0.049cm;"
|-  
| align=center| ^<tt>| </tt>
| align=center| ^<tt>| </tt>
| align=center| <tt>|v </tt>
| align=center| <tt>|v </tt>
Zeile 53: Zeile 53:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
| style="border:none;padding:0.049cm;" | <tt>\ </tt>
| | <tt>\ </tt>
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="border:none;padding:0.049cm;" | Network  
| | Network  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/qmqpd.8.html qmqpd(8)]  
| align=center | [http://www.postfix.org/qmqpd.8.html qmqpd(8)]  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/cleanup.8.html cleanup(8)]  
| align=center | [http://www.postfix.org/cleanup.8.html cleanup(8)]  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/QSHAPE_README.html#incoming_queue incoming ]
| align=center | [http://www.postfix.org/QSHAPE_README.html#incoming_queue incoming ]
|-
|-
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
| style="border:none;padding:0.049cm;" | <tt>/ </tt>
| | <tt>/ </tt>
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/pickup.8.html pickup(8)]  
| align=center | [http://www.postfix.org/pickup.8.html pickup(8)]  
| style="border:none;padding:0.049cm;" | <tt><- </tt>
| | <tt><- </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/QSHAPE_README.html#maildrop_queue maildrop ]
| align=center | [http://www.postfix.org/QSHAPE_README.html#maildrop_queue maildrop ]
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
| align=center style="border:none;padding:0.049cm;" | ^<tt>| </tt>
| align=center | ^<tt>| </tt>
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
|-
|-
| style="border:none;padding:0.049cm;" | Local  
| | Local  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/sendmail.1.html sendmail(1)]  
| align=center | [http://www.postfix.org/sendmail.1.html sendmail(1)]  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/postdrop.1.html postdrop(1)]  
| align=center | [http://www.postfix.org/postdrop.1.html postdrop(1)]  
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
|-
|-
|}
|}
Zeile 102: Zeile 102:
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. Namen gefolgt von einer Nummer sind Postfix Befehle oder Serverprogramme, während nicht nummerierte Namen innen schattiert sind Bereiche stellen Postfix-Warteschlangen dar.  
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. Namen gefolgt von einer Nummer sind Postfix Befehle oder Serverprogramme, während nicht nummerierte Namen innen schattiert sind Bereiche stellen Postfix-Warteschlangen dar.  


{| style="border-spacing:0;width:14.534cm;"
{| | class="wikitable sortable"
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/trivial-rewrite.8.html trivial-rewrite(8)]  
| align=center | [http://www.postfix.org/trivial-rewrite.8.html trivial-rewrite(8)]  
| style="border:none;padding:0.049cm;" |  
| |  
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtp.8.html smtp(8)]  
| align=center | [http://www.postfix.org/smtp.8.html smtp(8)]  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="border:none;padding:0.049cm;" | Network  
| | Network  
|-
|-
| align=right style="border:none;padding:0.049cm;" | <tt>/ </tt>
| align=right | <tt>/ </tt>
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
{| align="center" style="border-spacing:0;width:1.538cm;"
{| | class="wikitable sortable"align="center"  
|- style="border:none;padding:0.049cm;"
|-  
| align=center| ^<tt>| </tt>
| align=center| ^<tt>| </tt>
| align=center| <tt>|v </tt>
| align=center| <tt>|v </tt>
Zeile 122: Zeile 122:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| align=right style="border:none;padding:0.049cm;" | <tt>- </tt>
| align=right | <tt>- </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/lmtp.8.html lmtp(8)]  
| align=center | [http://www.postfix.org/lmtp.8.html lmtp(8)]  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="border:none;padding:0.049cm;" | Network  
| | Network  
|-
|-
| style="border:none;padding:0.049cm;" | <tt>/ </tt>
| | <tt>/ </tt>
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
|-
|-
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/QSHAPE_README.html#incoming_queue incoming ]
| align=center | [http://www.postfix.org/QSHAPE_README.html#incoming_queue incoming ]
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/QSHAPE_README.html#active_queue active ]
| align=center | [http://www.postfix.org/QSHAPE_README.html#active_queue active ]
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/qmgr.8.html qmgr(8)]  
| align=center | [http://www.postfix.org/qmgr.8.html qmgr(8)]  
| align=right style="border:none;padding:0.049cm;" | <tt>--- </tt>
| align=right | <tt>--- </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/local.8.html local(8)]  
| align=center | [http://www.postfix.org/local.8.html local(8)]  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="border:none;padding:0.049cm;" | File, command  
| | File, command  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
{| align="center" style="border-spacing:0;width:1.538cm;"
{| | class="wikitable sortable"align="center"  
|- style="border:none;padding:0.049cm;"
|-  
| align=center| ^<tt>| </tt>
| align=center| ^<tt>| </tt>
| align=center| <tt>|v </tt>
| align=center| <tt>|v </tt>
Zeile 149: Zeile 149:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="border:none;padding:0.049cm;" | <tt>\ </tt>
| | <tt>\ </tt>
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
|-
|-
| align=right style="border:none;padding:0.049cm;" | <tt>- </tt>
| align=right | <tt>- </tt>
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/virtual.8.html virtual(8)]  
| align=center | [http://www.postfix.org/virtual.8.html virtual(8)]  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="border:none;padding:0.049cm;" | File  
| | File  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/QSHAPE_README.html#deferred_queue deferred ]
| align=center | [http://www.postfix.org/QSHAPE_README.html#deferred_queue deferred ]
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| align=right style="border:none;padding:0.049cm;" | <tt>\ </tt>
| align=right | <tt>\ </tt>
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
|-
|-
| colspan="6" style="border:none;padding:0.049cm;" |  
| colspan="6"   |  
| align=center style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/pipe.8.html pipe(8)]  
| align=center | [http://www.postfix.org/pipe.8.html pipe(8)]  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="border:none;padding:0.049cm;" | Command  
| | Command  
|-
|-
|}
|}
Zeile 183: Zeile 183:
Die vorherigen Abschnitte gaben einen Überblick darüber, wie Postfix-Server verarbeitet das Senden und Empfangen von E-Mails. Diese Serverprozesse verlassen sich auf andere Serverprozesse, die Dinge hinter den Kulissen tun. Der Text Im Folgenden wird versucht, jeden Dienst in seinem eigenen Kontext zu visualisieren. Wie Davor sind Namen gefolgt von einer Zahl Postfix-Befehle oder Server Programme, während nicht nummerierte Namen innerhalb schattierter Bereiche darstellen Postfix-Warteschlangen. * Der residente [http://www.postfix.org/master.8.html Master(8) ]-Server ist der Supervisor, der behält ein Auge auf das Wohlergehen des Mailsystems Postfix. Es ist typisch beim Systemstart mit dem Befehl "postfix start" gestartet und läuft weiter, bis das System ausfällt. Der [http://www.postfix.org/master.8.html Master(8) ]-Server ist verantwortlich für das Starten von Postfix-Serverprozessen zum Empfangen und E-Mail-Zustellung und für den Neustart von Servern, die vorzeitig beendet werden wegen irgendwelchen problemen. Der [http://www.postfix.org/master.8.html Master(8) ]-Server ist ebenfalls verantwortlich zum Durchsetzen der Serverprozess-Zählerlimits, wie in der angegeben [http://www.postfix.org/master.5.html master.cf ]Konfigurationsdatei Das Bild unten gibt die Programmhierarchie beim Start von Postfix. Nur ein Teil der Post Verarbeitung von Daemon-Prozessen werden angezeigt.  
Die vorherigen Abschnitte gaben einen Überblick darüber, wie Postfix-Server verarbeitet das Senden und Empfangen von E-Mails. Diese Serverprozesse verlassen sich auf andere Serverprozesse, die Dinge hinter den Kulissen tun. Der Text Im Folgenden wird versucht, jeden Dienst in seinem eigenen Kontext zu visualisieren. Wie Davor sind Namen gefolgt von einer Zahl Postfix-Befehle oder Server Programme, während nicht nummerierte Namen innerhalb schattierter Bereiche darstellen Postfix-Warteschlangen. * Der residente [http://www.postfix.org/master.8.html Master(8) ]-Server ist der Supervisor, der behält ein Auge auf das Wohlergehen des Mailsystems Postfix. Es ist typisch beim Systemstart mit dem Befehl "postfix start" gestartet und läuft weiter, bis das System ausfällt. Der [http://www.postfix.org/master.8.html Master(8) ]-Server ist verantwortlich für das Starten von Postfix-Serverprozessen zum Empfangen und E-Mail-Zustellung und für den Neustart von Servern, die vorzeitig beendet werden wegen irgendwelchen problemen. Der [http://www.postfix.org/master.8.html Master(8) ]-Server ist ebenfalls verantwortlich zum Durchsetzen der Serverprozess-Zählerlimits, wie in der angegeben [http://www.postfix.org/master.5.html master.cf ]Konfigurationsdatei Das Bild unten gibt die Programmhierarchie beim Start von Postfix. Nur ein Teil der Post Verarbeitung von Daemon-Prozessen werden angezeigt.  


{| style="border-spacing:0;width:8.073cm;"
{| | class="wikitable sortable"
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/postfix.1.html postfix(1) ]
| | [http://www.postfix.org/postfix.1.html postfix(1) ]
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="border:none;padding:0.049cm;" | | |  
| | | |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Postfix-Skript(1)  
| | Postfix-Skript(1)  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="border:none;padding:0.049cm;" |  
| |  
{| style="border-spacing:0;width:0.903cm;"
{| | class="wikitable sortable"
|- style="border:none;padding:0.049cm;"
|-  
||  
||  
|| /  
|| /  
|- style="border:none;padding:0.049cm;"
|-  
|| /  
|| /  
||  
||  
Zeile 211: Zeile 211:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | | |  
| | | |  




{| style="border-spacing:0;width:0.903cm;"
{| | class="wikitable sortable"
|- style="border:none;padding:0.049cm;"
|-  
|| \  
|| \  
||  
||  
|- style="border:none;padding:0.049cm;"
|-  
||  
||  
|| \  
|| \  
Zeile 225: Zeile 225:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/postsuper.1.html postsuper(1) ]
| | [http://www.postfix.org/postsuper.1.html postsuper(1) ]
| style="border:none;padding:0.049cm;" |  
| |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/master.8.html Meister(8) ]
| | [http://www.postfix.org/master.8.html Meister(8) ]
| style="border:none;padding:0.049cm;" |  
| |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/postlog.1.html Postlog(1) ]
| | [http://www.postfix.org/postlog.1.html Postlog(1) ]
|-
|-
| style="border:none;padding:0.049cm;" |  
| |  
{| style="border-spacing:0;width:0.903cm;"
{| | class="wikitable sortable"
|- style="border:none;padding:0.049cm;"
|-  
||  
||  
|| /  
|| /  
|- style="border:none;padding:0.049cm;"
|-  
|| /  
|| /  
||  
||  
Zeile 245: Zeile 245:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | | |  
| | | |  




{| style="border-spacing:0;width:0.903cm;"
{| | class="wikitable sortable"
|- style="border:none;padding:0.049cm;"
|-  
|| \  
|| \  
||  
||  
|- style="border:none;padding:0.049cm;"
|-  
||  
||  
|| \  
|| \  
Zeile 259: Zeile 259:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtpd.8.html smtpd(8) ]
| | [http://www.postfix.org/smtpd.8.html smtpd(8) ]
| style="border:none;padding:0.049cm;" |  
| |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/qmgr.8.html qmgr (8) ]
| | [http://www.postfix.org/qmgr.8.html qmgr (8) ]
| style="border:none;padding:0.049cm;" |  
| |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/local.8.html lokal(8) ]
| | [http://www.postfix.org/local.8.html lokal(8) ]
|-
|-
|}
|}
* Der [http://www.postfix.org/anvil.8.html anvil(8) ]-Server implementiert die Client-Verbindung und Anforderungsrate Begrenzung für alle [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Server. Das [http://www.postfix.org/TUNING_README.html TUNING_README ]Dokument bietet Anleitungen zum Umgang mit fehlerhaften SMTP-Clients. Das [http://www.postfix.org/anvil.8.html anvil(8) ]ist in Postfix Version 2.2 und höher verfügbar.  
* Der [http://www.postfix.org/anvil.8.html anvil(8) ]-Server implementiert die Client-Verbindung und Anforderungsrate Begrenzung für alle [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Server. Das [http://www.postfix.org/TUNING_README.html TUNING_README ]Dokument bietet Anleitungen zum Umgang mit fehlerhaften SMTP-Clients. Das [http://www.postfix.org/anvil.8.html anvil(8) ]ist in Postfix Version 2.2 und höher verfügbar.  


{| style="border-spacing:0;width:8.237cm;"
{| | class="wikitable sortable"
|-
|-
| style="border:none;padding:0.049cm;" | Netzwerk  
| | Netzwerk  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtpd.8.html smtpd(8) ]
| | [http://www.postfix.org/smtpd.8.html smtpd(8) ]
| style="border:none;padding:0.049cm;" | <tt><-> </tt>
| | <tt><-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/anvil.8.html Amboss(8) ]
| | [http://www.postfix.org/anvil.8.html Amboss(8) ]
|-
|-
|}
|}
Zeile 283: Zeile 283:
* Die [http://www.postfix.org/bounce.8.html bounce(8) ], [http://www.postfix.org/defer.8.html defer(8) ]und [http://www.postfix.org/trace.8.html trace(8) ]werden jeweils verwaltet ihre eigenen Warteschlangen-Verzeichnisbäume mit Protokolldateien pro Nachricht. Postfix verwendet diese Informationen beim Senden von „fehlgeschlagen“, „verzögert“ oder „erfolgreich“ Benachrichtigungen über den Zustellstatus an den Absender. <br/>Der [http://www.postfix.org/trace.8.html Trace(8) ]-Dienst implementiert auch die Unterstützung für Postfix "Mail senden -bv" und "sendmail -v" Befehle, die Berichte darüber erzeugen, wie Postfix liefert Mail und ist mit Postfix Version 2.1 verfügbar und später. Siehe [http://www.postfix.org/DEBUG_README.html#trace_mail DEBUG_README ]zum Beispiel.  
* Die [http://www.postfix.org/bounce.8.html bounce(8) ], [http://www.postfix.org/defer.8.html defer(8) ]und [http://www.postfix.org/trace.8.html trace(8) ]werden jeweils verwaltet ihre eigenen Warteschlangen-Verzeichnisbäume mit Protokolldateien pro Nachricht. Postfix verwendet diese Informationen beim Senden von „fehlgeschlagen“, „verzögert“ oder „erfolgreich“ Benachrichtigungen über den Zustellstatus an den Absender. <br/>Der [http://www.postfix.org/trace.8.html Trace(8) ]-Dienst implementiert auch die Unterstützung für Postfix "Mail senden -bv" und "sendmail -v" Befehle, die Berichte darüber erzeugen, wie Postfix liefert Mail und ist mit Postfix Version 2.1 verfügbar und später. Siehe [http://www.postfix.org/DEBUG_README.html#trace_mail DEBUG_README ]zum Beispiel.  


{| style="border-spacing:0;width:12.121cm;"
{| | class="wikitable sortable"
|-
|-
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/cleanup.8.html aufräumen(8) ]
| | [http://www.postfix.org/cleanup.8.html aufräumen(8) ]
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/qmgr.8.html qmgr (8) ]Postfix Warteschlange  
| | [http://www.postfix.org/qmgr.8.html qmgr (8) ]Postfix Warteschlange  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Lieferung Agenten  
| | Lieferung Agenten  
|-
|-
| style="border:none;padding:0.049cm;" | ^ <tt>| </tt>
| | ^ <tt>| </tt>
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>| in </tt>
| | <tt>| in </tt>
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>| in </tt>
| | <tt>| in </tt>
|-
|-
| style="border:none;padding:0.049cm;" | (Nicht-) Lieferung Notiz  
| | (Nicht-) Lieferung Notiz  
| style="border:none;padding:0.049cm;" | <tt><- </tt>
| | <tt><- </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/bounce.8.html prall(8) ][http://www.postfix.org/defer.8.html aufschieben(8) ][http://www.postfix.org/trace.8.html Spur(8) ]
| | [http://www.postfix.org/bounce.8.html prall(8) ][http://www.postfix.org/defer.8.html aufschieben(8) ][http://www.postfix.org/trace.8.html Spur(8) ]
| style="border:none;padding:0.049cm;" | <tt><- </tt>
| | <tt><- </tt>
| style="border:none;padding:0.049cm;" | Warteschlange Ich würde, Empfänger, Status  
| | Warteschlange Ich würde, Empfänger, Status  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
{| align="center" style="border-spacing:0;width:1.792cm;"
{| | class="wikitable sortable"align="center"  
|- style="border:none;padding:0.049cm;"
|-  
|| ^ <tt>| </tt>
|| ^ <tt>| </tt>
|| <tt>| in </tt>
|| <tt>| in </tt>
Zeile 311: Zeile 311:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Pro- Botschaft logfiles  
| | Pro- Botschaft logfiles  
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
|-
|-
|}
|}
Zeile 322: Zeile 322:
* Die [http://www.postfix.org/flush.8.html flush(8) ]-Server führen Protokolle pro Ziel und Implementieren Sie sowohl ETRN als auch "sendmail -qRdestination", wie beschrieben im [http://www.postfix.org/ETRN_README.html ETRN_README ]. Dies verschiebt ausgewählte Warteschlangendateien aus die [http://www.postfix.org/QSHAPE_README.html#deferred_queue Warteschlange ]zurück zur [http://www.postfix.org/QSHAPE_README.html#incoming_queue eingehenden Warteschlange ]und fordert deren Lieferung. Der [http://www.postfix.org/flush.8.html flush(8) ]-Dienst ist mit der Postfix-Version verfügbar 1.0 und höher.  
* Die [http://www.postfix.org/flush.8.html flush(8) ]-Server führen Protokolle pro Ziel und Implementieren Sie sowohl ETRN als auch "sendmail -qRdestination", wie beschrieben im [http://www.postfix.org/ETRN_README.html ETRN_README ]. Dies verschiebt ausgewählte Warteschlangendateien aus die [http://www.postfix.org/QSHAPE_README.html#deferred_queue Warteschlange ]zurück zur [http://www.postfix.org/QSHAPE_README.html#incoming_queue eingehenden Warteschlange ]und fordert deren Lieferung. Der [http://www.postfix.org/flush.8.html flush(8) ]-Dienst ist mit der Postfix-Version verfügbar 1.0 und höher.  


{| style="border-spacing:0;width:15.75cm;"
{| | class="wikitable sortable"
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/QSHAPE_README.html#incoming_queue eingehend ]^ [http://www.postfix.org/QSHAPE_README.html#deferred_queue aufgeschoben ]
| | [http://www.postfix.org/QSHAPE_README.html#incoming_queue eingehend ]^ [http://www.postfix.org/QSHAPE_README.html#deferred_queue aufgeschoben ]
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
| style="border:none;padding:0.049cm;" | ^ |  
| | ^ |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtpd.8.html smtpd(8) ][http://www.postfix.org/sendmail.1.html sendmail(1) ][http://www.postfix.org/postqueue.1.html nach(1) ]
| | [http://www.postfix.org/smtpd.8.html smtpd(8) ][http://www.postfix.org/sendmail.1.html sendmail(1) ][http://www.postfix.org/postqueue.1.html nach(1) ]
| style="border:none;padding:0.049cm;" | <tt>- </tt>
| | <tt>- </tt>
| style="border:none;padding:0.049cm;" | Ziel spülen  
| | Ziel spülen  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/flush.8.html bündig(8) ]
| | [http://www.postfix.org/flush.8.html bündig(8) ]
| style="border:none;padding:0.049cm;" | <tt><- </tt>
| | <tt><- </tt>
| style="border:none;padding:0.049cm;" | Aufgeschoben Ziel, Warteschlange Ich würde  
| | Aufgeschoben Ziel, Warteschlange Ich würde  
| style="border:none;padding:0.049cm;" | <tt>- </tt>
| | <tt>- </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Lieferung Agenten, [http://www.postfix.org/qmgr.8.html qmgr (8) ]
| | Lieferung Agenten, [http://www.postfix.org/qmgr.8.html qmgr (8) ]
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
{| align="center" style="border-spacing:0;width:1.792cm;"
{| | class="wikitable sortable"align="center"  
|- style="border:none;padding:0.049cm;"
|-  
|| ^ <tt>| </tt>
|| ^ <tt>| </tt>
|| <tt>| in </tt>
|| <tt>| in </tt>
Zeile 356: Zeile 356:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
| style="border:none;padding:0.049cm;" | Pro Ziel- nation Protokolle  
| | Pro Ziel- nation Protokolle  
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
|-
|-
|}
|}
Zeile 368: Zeile 368:
* Der [http://www.postfix.org/scache.8.html scache(8) ]-Server verwaltet den Verbindungs-Cache für der Postfix [http://www.postfix.org/smtp.8.html smtp(8) ]-Client. Wenn Verbindungscaching aktiviert ist für ausgewählten Zielen, trennt der [http://www.postfix.org/smtp.8.html SMTP(8) ]-Client die Verbindung nicht unmittelbar nach einer Mail-Transaktion, sondern gibt die Verbindung zu der Verbindungs-Cache-Server, der die Verbindung offen hält für a begrenzte Zeit. Der [http://www.postfix.org/smtp.8.html smtp(8) ]-Client fährt mit einigen fort andere E-Mail-Zustellungsanforderung. Inzwischen kann das jeder [http://www.postfix.org/smtp.8.html smtp(8) ]-Prozess Fragen Sie den [http://www.postfix.org/scache.8.html scache(8) ]-Server nach dieser zwischengespeicherten Verbindung und verwenden Sie sie für die Postzustellung. Als Sicherheitsmaßnahme begrenzt Postfix die Anzahl wie oft eine Verbindung wiederverwendet werden kann. <br/>Beim Zustellen von E-Mails an ein Ziel mit mehreren E-Mail-Servern Verbindungs-Caching kann helfen, einen nicht antwortenden Server zu überspringen, und damit die Lieferung drastisch beschleunigen. Zwischenspeichern von SMTP-Verbindungen ist in Postfix-Version 2.2 und höher verfügbar. Mehr Informationen zu dieser Funktion finden Sie im [http://www.postfix.org/CONNECTION_CACHE_README.html CONNECTION_CACHE_README ].  
* Der [http://www.postfix.org/scache.8.html scache(8) ]-Server verwaltet den Verbindungs-Cache für der Postfix [http://www.postfix.org/smtp.8.html smtp(8) ]-Client. Wenn Verbindungscaching aktiviert ist für ausgewählten Zielen, trennt der [http://www.postfix.org/smtp.8.html SMTP(8) ]-Client die Verbindung nicht unmittelbar nach einer Mail-Transaktion, sondern gibt die Verbindung zu der Verbindungs-Cache-Server, der die Verbindung offen hält für a begrenzte Zeit. Der [http://www.postfix.org/smtp.8.html smtp(8) ]-Client fährt mit einigen fort andere E-Mail-Zustellungsanforderung. Inzwischen kann das jeder [http://www.postfix.org/smtp.8.html smtp(8) ]-Prozess Fragen Sie den [http://www.postfix.org/scache.8.html scache(8) ]-Server nach dieser zwischengespeicherten Verbindung und verwenden Sie sie für die Postzustellung. Als Sicherheitsmaßnahme begrenzt Postfix die Anzahl wie oft eine Verbindung wiederverwendet werden kann. <br/>Beim Zustellen von E-Mails an ein Ziel mit mehreren E-Mail-Servern Verbindungs-Caching kann helfen, einen nicht antwortenden Server zu überspringen, und damit die Lieferung drastisch beschleunigen. Zwischenspeichern von SMTP-Verbindungen ist in Postfix-Version 2.2 und höher verfügbar. Mehr Informationen zu dieser Funktion finden Sie im [http://www.postfix.org/CONNECTION_CACHE_README.html CONNECTION_CACHE_README ].  


{| style="border-spacing:0;width:7.899cm;"
{| | class="wikitable sortable"
|-
|-
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>/-- </tt>
| | <tt>/-- </tt>
| colspan="3" style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtp.8.html SMTP(8) ]
| colspan="3"   | [http://www.postfix.org/smtp.8.html SMTP(8) ]
| style="border:none;padding:0.049cm;" | <tt>--> </tt>
| | <tt>--> </tt>
| style="border:none;padding:0.049cm;" | Internet  
| | Internet  
|-
|-
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/qmgr.8.html qmgr (8) ]
| | [http://www.postfix.org/qmgr.8.html qmgr (8) ]
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>| | | | v </tt>
| | <tt>| | | | v </tt>
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
|-
|-
| style="border:none;padding:0.049cm;" | &nbsp;  
| | &nbsp;  
| style="border:none;padding:0.049cm;" | <tt>\-- </tt>
| | <tt>\-- </tt>
| colspan="3" style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtp.8.html SMTP(8) ]
| colspan="3"   | [http://www.postfix.org/smtp.8.html SMTP(8) ]
| style="border:none;padding:0.049cm;" | &nbsp;  
| | &nbsp;  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" | &nbsp;  
| colspan="2"   | &nbsp;  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>^ | </tt>
| | <tt>^ | </tt>
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| colspan="3" style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/scache.8.html schach(8) ]
| colspan="3"   | [http://www.postfix.org/scache.8.html schach(8) ]
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
|-
|-
|}
|}
Zeile 401: Zeile 401:
Nachdem die E-Mail-Transaktion abgeschlossen ist, wird der Postfix- [http://www.postfix.org/smtp.8.html smtp(8) ]-Client gibt die [http://www.postfix.org/smtp.8.html smtp(8) ]-to [http://www.postfix.org/tlsproxy.8.html -tlsproxy(8) ]-Verbindung zum [http://www.postfix.org/scache.8.html scache(8) ]Server, der die Verbindung für eine begrenzte Anzahl offen hält Zeit. Der [http://www.postfix.org/smtp.8.html smtp(8) ]-Client fährt mit einer anderen Mail-Zustellung fort Anfrage. Inzwischen kann jeder Postfix [http://www.postfix.org/smtp.8.html smtp(8) ]-Client den [http://www.postfix.org/scache.8.html scache(8) ]Server für diese zwischengespeicherte Verbindung und verwenden Sie sie für die E-Mail-Zustellung erneut.  
Nachdem die E-Mail-Transaktion abgeschlossen ist, wird der Postfix- [http://www.postfix.org/smtp.8.html smtp(8) ]-Client gibt die [http://www.postfix.org/smtp.8.html smtp(8) ]-to [http://www.postfix.org/tlsproxy.8.html -tlsproxy(8) ]-Verbindung zum [http://www.postfix.org/scache.8.html scache(8) ]Server, der die Verbindung für eine begrenzte Anzahl offen hält Zeit. Der [http://www.postfix.org/smtp.8.html smtp(8) ]-Client fährt mit einer anderen Mail-Zustellung fort Anfrage. Inzwischen kann jeder Postfix [http://www.postfix.org/smtp.8.html smtp(8) ]-Client den [http://www.postfix.org/scache.8.html scache(8) ]Server für diese zwischengespeicherte Verbindung und verwenden Sie sie für die E-Mail-Zustellung erneut.  


{| style="border-spacing:0;width:11.308cm;"
{| | class="wikitable sortable"
|-
|-
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>/-- </tt>
| | <tt>/-- </tt>
| colspan="3" style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtp.8.html SMTP(8) ]
| colspan="3"   | [http://www.postfix.org/smtp.8.html SMTP(8) ]
| style="border:none;padding:0.049cm;" | <tt>--> </tt>
| | <tt>--> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/tlsproxy.8.html tlsproxy(8) ]
| | [http://www.postfix.org/tlsproxy.8.html tlsproxy(8) ]
| style="border:none;padding:0.049cm;" | <tt>--> </tt>
| | <tt>--> </tt>
| style="border:none;padding:0.049cm;" | Internet  
| | Internet  
|-
|-
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/qmgr.8.html qmgr (8) ]
| | [http://www.postfix.org/qmgr.8.html qmgr (8) ]
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>| | | | v </tt>
| | <tt>| | | | v </tt>
| colspan="6" style="border:none;padding:0.049cm;" |  
| colspan="6"   |  
|-
|-
| style="border:none;padding:0.049cm;" | &nbsp;  
| | &nbsp;  
| style="border:none;padding:0.049cm;" | <tt>\-- </tt>
| | <tt>\-- </tt>
| colspan="3" style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtp.8.html SMTP(8) ]
| colspan="3"   | [http://www.postfix.org/smtp.8.html SMTP(8) ]
| style="border:none;padding:0.049cm;" | &nbsp;  
| | &nbsp;  
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" | &nbsp;  
| colspan="2"   | &nbsp;  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>^ | </tt>
| | <tt>^ | </tt>
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| colspan="3" style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/scache.8.html schach(8) ]
| colspan="3"   | [http://www.postfix.org/scache.8.html schach(8) ]
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
|-
|-
|}
|}
Zeile 435: Zeile 435:
* Die [http://www.postfix.org/showq.8.html showq(8) ]-Server listen den Status der Postfix-Warteschlange auf. Dies ist der Warteschlangenauflistungsdienst, der die Arbeit für [http://www.postfix.org/mailq.1.html mailq(1) erledigt ]und [http://www.postfix.org/postqueue.1.html Postqueue(1) ]-Befehle.  
* Die [http://www.postfix.org/showq.8.html showq(8) ]-Server listen den Status der Postfix-Warteschlange auf. Dies ist der Warteschlangenauflistungsdienst, der die Arbeit für [http://www.postfix.org/mailq.1.html mailq(1) erledigt ]und [http://www.postfix.org/postqueue.1.html Postqueue(1) ]-Befehle.  


{| style="border-spacing:0;width:12.732cm;"
{| | class="wikitable sortable"
|-
|-
| style="border:none;padding:0.049cm;" | Ausgabe  
| | Ausgabe  
| style="border:none;padding:0.049cm;" | <tt><- </tt>
| | <tt><- </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/mailq.1.html mailq (1) ][http://www.postfix.org/postqueue.1.html Post- Warteschlange(1) ]
| | [http://www.postfix.org/mailq.1.html mailq (1) ][http://www.postfix.org/postqueue.1.html Post- Warteschlange(1) ]
| style="border:none;padding:0.049cm;" | <tt><- </tt>
| | <tt><- </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/showq.8.html showq(8) ]
| | [http://www.postfix.org/showq.8.html showq(8) ]
| style="border:none;padding:0.049cm;" | <tt><- </tt>
| | <tt><- </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Postfix Warteschlange  
| | Postfix Warteschlange  
|-
|-
|}
|}
Zeile 454: Zeile 454:
TLS-Unterstützung ist in Postfix Version 2.2 und höher verfügbar. Informationen zur Postfix-TLS-Implementierung finden Sie in [http://www.postfix.org/TLS_README.html TLS_README ]dokumentieren.  
TLS-Unterstützung ist in Postfix Version 2.2 und höher verfügbar. Informationen zur Postfix-TLS-Implementierung finden Sie in [http://www.postfix.org/TLS_README.html TLS_README ]dokumentieren.  


{| style="border-spacing:0;width:15.75cm;"
{| | class="wikitable sortable"
|-
|-
| style="border:none;padding:0.049cm;" | Netzwerk <tt>-> </tt>
| | Netzwerk <tt>-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtpd.8.html smtpd(8) ]&nbsp;  
| | [http://www.postfix.org/smtpd.8.html smtpd(8) ]&nbsp;  
| colspan="2" style="border:none;padding:0.049cm;" | <tt><---Samen--- <-Sitzung-> </tt>
| colspan="2"   | <tt><---Samen--- <-Sitzung-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/tlsmgr.8.html tlsmgr(8) ]&nbsp;  
| | [http://www.postfix.org/tlsmgr.8.html tlsmgr(8) ]&nbsp;  
| colspan="3" style="border:none;padding:0.049cm;" | <tt>---Samen---> <-Sitzung-> </tt>
| colspan="3"   | <tt>---Samen---> <-Sitzung-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtp.8.html SMTP(8) ]&nbsp;  
| | [http://www.postfix.org/smtp.8.html SMTP(8) ]&nbsp;  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>Netzwerk  
| | <tt>-> </tt>Netzwerk  
|-
|-
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
{| style="border-spacing:0;width:0.903cm;"
{| | class="wikitable sortable"
|- style="border:none;padding:0.049cm;"
|-  
||  
||  
|| /  
|| /  
|- style="border:none;padding:0.049cm;"
|-  
|| /  
|| /  
||  
||  
Zeile 475: Zeile 475:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | | |  
| | | |  




{| style="border-spacing:0;width:0.903cm;"
{| | class="wikitable sortable"
|- style="border:none;padding:0.049cm;"
|-  
|| \  
|| \  
||  
||  
|- style="border:none;padding:0.049cm;"
|-  
||  
||  
|| \  
|| \  
Zeile 489: Zeile 489:
|}
|}


| style="border:none;padding:0.049cm;" |  
| |  
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | smtpd Sitzung Zwischenspeicher  
| | smtpd Sitzung Zwischenspeicher  
| style="border:none;padding:0.049cm;" |  
| |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | PRNG Zustand Datei  
| | PRNG Zustand Datei  
| style="border:none;padding:0.049cm;" |  
| |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | smtp Sitzung Zwischenspeicher  
| | smtp Sitzung Zwischenspeicher  
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
|}
|}
Zeile 506: Zeile 506:
* Der [http://www.postfix.org/verify.8.html verify(8) ]-Server überprüft, ob es sich um einen Absender oder Empfänger handelt Adresse zustellbar ist, bevor der [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Server sie akzeptiert. Das [http://www.postfix.org/verify.8.html Der verify(8) ]-Server fragt einen Cache mit den Ergebnissen der Adressüberprüfung ab. Wenn kein Ergebnis gefunden wird, fügt der [http://www.postfix.org/verify.8.html verify(8) ]-Server eine Sonde ein Nachricht in die Postfix-Queue und verarbeitet die Statusaktualisierung ab ein Zustellungsagent oder Warteschlangenmanager. Dieser Vorgang ist in der [http://www.postfix.org/ADDRESS_VERIFICATION_README.html ADDRESS_VERIFICATION_README ]dokumentieren. Der [http://www.postfix.org/verify.8.html Verify(8) ]-Dienst ist mit der Postfix-Version verfügbar 2.1 und höher.  
* Der [http://www.postfix.org/verify.8.html verify(8) ]-Server überprüft, ob es sich um einen Absender oder Empfänger handelt Adresse zustellbar ist, bevor der [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Server sie akzeptiert. Das [http://www.postfix.org/verify.8.html Der verify(8) ]-Server fragt einen Cache mit den Ergebnissen der Adressüberprüfung ab. Wenn kein Ergebnis gefunden wird, fügt der [http://www.postfix.org/verify.8.html verify(8) ]-Server eine Sonde ein Nachricht in die Postfix-Queue und verarbeitet die Statusaktualisierung ab ein Zustellungsagent oder Warteschlangenmanager. Dieser Vorgang ist in der [http://www.postfix.org/ADDRESS_VERIFICATION_README.html ADDRESS_VERIFICATION_README ]dokumentieren. Der [http://www.postfix.org/verify.8.html Verify(8) ]-Dienst ist mit der Postfix-Version verfügbar 2.1 und höher.  


{| style="border-spacing:0;width:15.75cm;"
{| | class="wikitable sortable"
|-
|-
| colspan="5" style="border:none;padding:0.049cm;" | &nbsp;  
| colspan="5"   | &nbsp;  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="border:none;padding:0.049cm;" | Sonde Botschaft  
| | Sonde Botschaft  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Postfix Post Warteschlange  
| | Postfix Post Warteschlange  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="border:none;padding:0.049cm;" | Netzwerk  
| | Netzwerk  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtpd.8.html smtpd(8) ]
| | [http://www.postfix.org/smtpd.8.html smtpd(8) ]
| style="border:none;padding:0.049cm;" | <tt><-> </tt>
| | <tt><-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/verify.8.html verifizieren(8) ]
| | [http://www.postfix.org/verify.8.html verifizieren(8) ]
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
| style="border:none;padding:0.049cm;" | <tt>| in </tt>
| | <tt>| in </tt>
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="border:none;padding:0.049cm;" | <tt><- </tt>
| | <tt><- </tt>
| style="border:none;padding:0.049cm;" | Sonde Status  
| | Sonde Status  
| style="border:none;padding:0.049cm;" | <tt><- </tt>
| | <tt><- </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Postfix Lieferung Agenten  
| | Postfix Lieferung Agenten  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>Lokal <tt>-> </tt>Netzwerk  
| | <tt>-> </tt>Lokal <tt>-> </tt>Netzwerk  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" | &nbsp;  
| colspan="4"   | &nbsp;  
| style="border:none;padding:0.049cm;" | <tt>^ | in </tt>
| | <tt>^ | in </tt>
| style="border:none;padding:0.049cm;" |  
| |  
|- style="border:none;padding:0.049cm;"
|-  
||  
||  
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" | &nbsp;  
| colspan="4"   | &nbsp;  
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
|-
|-
| colspan="4" style="border:none;padding:0.049cm;" | &nbsp;  
| colspan="4"   | &nbsp;  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Adresse Überprüfung Zwischenspeicher  
| | Adresse Überprüfung Zwischenspeicher  
| colspan="6" style="border:none;padding:0.049cm;" |  
| colspan="6"   |  
|-
|-
|}
|}
Zeile 556: Zeile 556:
* Der [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Server kann Postfix "vor" gestellt werden [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Prozesse. Sein Zweck ist es, Verbindungen von der zu akzeptieren Netzwerk und um zu entscheiden, mit welchen SMTP-Clients kommuniziert werden darf Postfix. Laut dem Jahresbericht 2008 von MessageLabs sind 81&nbsp;% der alle E-Mails waren Spam und 90 % davon wurden von Botnets gesendet; bis 2010, diese Zahlen waren 92 % bzw. 95 %. Während [http://www.postfix.org/postscreen.8.html Postscreen(8) ]hält die Zombies fern, es bleiben mehr [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Prozesse verfügbar für seriöse Kunden. <br/>[http://www.postfix.org/postscreen.8.html postscreen(8) ]verwaltet eine temporäre Zulassungsliste für Clients, die seine Tests bestehen; indem zugelassenen Clients erlaubt wird, Tests zu überspringen, [http://www.postfix.org/postscreen.8.html postscreen(8) ]minimiert seine Auswirkungen auf den legitimen E-Mail-Verkehr. <br/>Der [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Server ist mit Postfix 2.8 und verfügbar später. Um die Implementierung einfach zu halten, [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Delegates DNS Allow/Denylist-Lookups für [http://www.postfix.org/dnsblog.8.html dnsblog(8)-Serverprozesse ]und delegiert die TLS-Verschlüsselung/Entschlüsselung an [http://www.postfix.org/tlsproxy.8.html tlsproxy(8)-Serverprozesse ]. Diese Delegierung ist für den Remote-SMTP-Client unsichtbar.  
* Der [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Server kann Postfix "vor" gestellt werden [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Prozesse. Sein Zweck ist es, Verbindungen von der zu akzeptieren Netzwerk und um zu entscheiden, mit welchen SMTP-Clients kommuniziert werden darf Postfix. Laut dem Jahresbericht 2008 von MessageLabs sind 81&nbsp;% der alle E-Mails waren Spam und 90 % davon wurden von Botnets gesendet; bis 2010, diese Zahlen waren 92 % bzw. 95 %. Während [http://www.postfix.org/postscreen.8.html Postscreen(8) ]hält die Zombies fern, es bleiben mehr [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Prozesse verfügbar für seriöse Kunden. <br/>[http://www.postfix.org/postscreen.8.html postscreen(8) ]verwaltet eine temporäre Zulassungsliste für Clients, die seine Tests bestehen; indem zugelassenen Clients erlaubt wird, Tests zu überspringen, [http://www.postfix.org/postscreen.8.html postscreen(8) ]minimiert seine Auswirkungen auf den legitimen E-Mail-Verkehr. <br/>Der [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Server ist mit Postfix 2.8 und verfügbar später. Um die Implementierung einfach zu halten, [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Delegates DNS Allow/Denylist-Lookups für [http://www.postfix.org/dnsblog.8.html dnsblog(8)-Serverprozesse ]und delegiert die TLS-Verschlüsselung/Entschlüsselung an [http://www.postfix.org/tlsproxy.8.html tlsproxy(8)-Serverprozesse ]. Diese Delegierung ist für den Remote-SMTP-Client unsichtbar.  


{| style="border-spacing:0;width:11.855cm;"
{| | class="wikitable sortable"
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="border:none;padding:0.049cm;" | Zombie  
| | Zombie  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
| style="border:none;padding:0.049cm;" | <tt>\ </tt>
| | <tt>\ </tt>
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="border:none;padding:0.049cm;" | Zombie  
| | Zombie  
| style="border:none;padding:0.049cm;" | <tt>- </tt>
| | <tt>- </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/tlsproxy.8.html tlsproxy(8) ]
| | [http://www.postfix.org/tlsproxy.8.html tlsproxy(8) ]
| style="border:none;padding:0.049cm;" | <tt>- </tt>
| | <tt>- </tt>
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>- </tt>
| | <tt>- </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtpd.8.html smtpd(8) ]
| | [http://www.postfix.org/smtpd.8.html smtpd(8) ]
|-
|-
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
| style="border:none;padding:0.049cm;" | <tt>\ </tt>
| | <tt>\ </tt>
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>/ </tt>
| | <tt>/ </tt>
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Sonstiges  
| | Sonstiges  
| style="border:none;padding:0.049cm;" | <tt>--- </tt>
| | <tt>--- </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/postscreen.8.html Postscreen(8) ]
| | [http://www.postfix.org/postscreen.8.html Postscreen(8) ]
| colspan="4" style="border:none;padding:0.049cm;" |  
| colspan="4"   |  
|-
|-
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
| style="border:none;padding:0.049cm;" | <tt>/ </tt>
| | <tt>/ </tt>
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>\ </tt>
| | <tt>\ </tt>
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Sonstiges  
| | Sonstiges  
| style="border:none;padding:0.049cm;" | <tt>- </tt>
| | <tt>- </tt>
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>- </tt>
| | <tt>- </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/smtpd.8.html smtpd(8) ]
| | [http://www.postfix.org/smtpd.8.html smtpd(8) ]
|-
|-
| colspan="3" style="border:none;padding:0.049cm;" |  
| colspan="3"   |  
| style="border:none;padding:0.049cm;" | <tt>/ </tt>
| | <tt>/ </tt>
| colspan="5" style="border:none;padding:0.049cm;" |  
| colspan="5"   |  
|-
|-
| colspan="2" style="border:none;padding:0.049cm;" |  
| colspan="2"   |  
| style="border:none;padding:0.049cm;" | Zombie  
| | Zombie  
| colspan="6" style="border:none;padding:0.049cm;" |  
| colspan="6"   |  
|-
|-
|}
|}
Zeile 625: Zeile 625:
** Protokollierung in Datei, die ein Usability-Problem mit adressiert MacOS und eliminiert Informationsverluste, die durch systemd-Ratenbegrenzungen verursacht werden.  
** Protokollierung in Datei, die ein Usability-Problem mit adressiert MacOS und eliminiert Informationsverluste, die durch systemd-Ratenbegrenzungen verursacht werden.  


{| style="border-spacing:0;width:10.125cm;"
{| | class="wikitable sortable"
|-
|-
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Befehle oder Dämonen  
| | Befehle oder Dämonen  
| colspan="3" style="border:none;padding:0.049cm;" | &nbsp;  
| colspan="3"   | &nbsp;  
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" |  
| |  
|-
|-
| style="border:none;padding:0.049cm;" |  
| |  
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/postlogd.8.html postlogd(8) ]
| | [http://www.postfix.org/postlogd.8.html postlogd(8) ]
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="border:none;padding:0.049cm;" | /Pfad/zur/Datei  
| | /Pfad/zur/Datei  
|- style="border:none;padding:0.049cm;"
|-  
| colspan="5" | &nbsp;  
| colspan="5" | &nbsp;  
|-
|-
Zeile 644: Zeile 644:
* Protokollierung auf stdout, wodurch eine Syslog-Abhängigkeit beseitigt wird wenn Postfix in einem Container läuft.  
* Protokollierung auf stdout, wodurch eine Syslog-Abhängigkeit beseitigt wird wenn Postfix in einem Container läuft.  


{| style="border-spacing:0;width:10.966cm;"
{| | class="wikitable sortable"
|-
|-
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | Befehle oder Dämonen  
| | Befehle oder Dämonen  
| colspan="3" style="border:none;padding:0.049cm;" | &nbsp;  
| colspan="3"   | &nbsp;  
| style="border:none;padding:0.049cm;" | stdout geerbt von "postfix start-fg"  
| | stdout geerbt von "postfix start-fg"  
|-
|-
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
| style="background-color:#f0f0ff;border:none;padding:0.049cm;" | [http://www.postfix.org/postlogd.8.html postlogd(8) ]
| | [http://www.postfix.org/postlogd.8.html postlogd(8) ]
| style="border:none;padding:0.049cm;" | <tt>-> </tt>
| | <tt>-> </tt>
|- style="border:none;padding:0.049cm;"
|-  
| colspan="4" | &nbsp;  
| colspan="4" | &nbsp;  
|-
|-

Version vom 29. Mai 2022, 22:44 Uhr

Architektur

Modulare Postfix Architektur

Daemon

Gelbe Ellipsen:

  • Sie stehen für je einen Daemon, welchem genau eine Aufgabe zugeordnet wurde.
  • Aus dieser Modularität heraus erklärt sich die große Sicherheit und Stabilität, die Postfix auszeichnet.
Lookup tables

Blaue Kästen:

  • Die blauen Kästen stehen für sogenannte Lookup tables (postfix maps).
  • Sie enthalten in zwei Spalten Informationen, die zur Weiterverarbeitung von E-Mails herangezogen werden können.
  • Dies kann eine Zugriffsliste (engl. access) sein, die darüber bestimmt, ob die E-Mail angenommen wird oder nicht, zum Umschreiben des Adressaten bzw. Senders oder auch der weitere Weg (engl. transport), den eine E-Mail nehmen soll.
queues

Orangene Kästen:

  • Die orangenen Kästen stehen zum einen für sogenannte Warteschlangen (engl. queues),
  • bei der E-Mails physisch auf dem Datenträger (zumeist Festplatte oder einem NFS Laufwerk) abgelegt werden, oder aber für Endzustellung,
  • zum Beispiel eine Mailbox eines Benutzers (Beispiel: /var/mail/benutzername).
Eingänge/Ausgänge

Weiße Wolken:

  • Sie stehen für den möglichen Eintritt oder auch das Verlassen des Postfix Systems.
  • Als Beispiel auf der linken Seiten den SMTPD Daemon, welcher für die Annahme von E-Mails über den TCP Port 25 zuständig ist (soweit nicht anders konfiguriert).
  • Auf der rechten Seite dagegen gibt es den SMTP Daemon, der für das Weitergeben von E-Mails an andere SMTP zuständig ist.

Alle Daemonen (gelbe Ellipsen) werden vom Postfix Master Prozess bei Bedarf gestartet und auch überwacht.

Postfix Architektur

Einführung

Dieses Dokument gibt einen Überblick über die Postfix-Architektur, und bietet Verweise auf Beschreibungen aller Postfix-Befehle oder Serverprogramm. Der Text gibt den allgemeinen Kontext an, in dem jeder Befehl oder jedes Serverprogramm wird verwendet und liefert Zeiger darauf Dokumente mit konkreten Anwendungsbeispielen und Hintergrundinformationen.

Wie Postfix Mail empfängt

Wenn eine Nachricht in das Postfix-Mailsystem eingeht, ist die erste Station Auf der Innenseite befindet sich die Eingangswarteschlange . Die folgende Abbildung zeigt die Hauptprozesse, die mit neuer E-Mail verbunden sind. Namen gefolgt von eine Nummer sind Postfix-Befehle oder Serverprogramme, während sie nicht nummeriert sind Namen in schattierten Bereichen stehen für Postfix-Warteschlangen.

trivial-rewrite(8)
Network -> smtpd(8)
^| |v
\
Network -> qmqpd(8) -> cleanup(8) -> incoming
/
pickup(8) <- maildrop
^|
Local -> sendmail(1) -> postdrop(1)
  • Netzwerk-Mail gelangt über smtpd(8) oder qmqpd(8) Server. Diese Server entfernen die SMTP- oder QMQP-Protokollkapselung, Führen Sie einige Plausibilitätsprüfungen durch, um Postfix zu schützen, und geben Sie dem Absender, Empfänger und Nachrichteninhalt an den Cleanup(8) -Server. Das Der smtpd(8) -Server kann so konfiguriert werden, dass er unerwünschte E-Mails blockiert, wie z im SMTPD_ACCESS_README .
  • Lokale Einreichungen werden mit dem Postfix sendmail(1) Kompatibilitätsbefehl und werden Maildrop-Warteschlange von den privilegierten postdrop(1) -Befehl. Diese Anordnung funktioniert sogar während das Mailsystem Postfix nicht läuft. Die Abholung vor Ort(8) Der Server nimmt lokale Übermittlungen auf und führt einige Plausibilitätsprüfungen durch schützt Postfix und gibt Absender, Empfänger und Nachricht an Inhalt auf den Cleanup(8) -Server.
  • Mail aus internen Quellen wird direkt an die weitergeleitet cleanup(8) -Server. Diese Quellen sind in der Figur nicht gezeigt, und umfassen: Post, die vom lokalen(8) Zustellagenten weitergeleitet wird (siehe nächsten Abschnitt), Nachrichten, die von der an den Absender zurückgesendet werden Bounce(8) -Server (siehe vornächster Abschnitt) und Postmaster Benachrichtigungen über Probleme mit Postfix.
  • Der cleanup(8) -Server implementiert die endgültige Verarbeitung Phase, bevor E-Mails in die Warteschlange gestellt werden. Es fügt fehlendes From: und andere Nachrichten hinzu Header und transformiert Adressen wie in beschrieben ADDRESS_REWRITING_README dokumentieren. Optional kann der cleanup(8) -Server so konfiguriert werden Führen Sie eine leichte Inhaltsprüfung mit regulären Ausdrücken durch im BUILTIN_FILTER_README . Die Reinigung(8) Server stellt das Ergebnis als einzelne Datei in die Eingangswarteschlange , und benachrichtigt den Warteschlangenmanager (siehe nächster Abschnitt) über die Ankunft von neuer Post.
  • Der trivial-rewrite(8) -Server schreibt Adressen in die um Standardformular "user@fully.qualified.domain", wie in beschrieben ADDRESS_REWRITING_README- Dokument. Postfix derzeit nicht Implementieren Sie eine Umschreibesprache, aber vieles kann über Tabellen erledigt werden Lookups und ggf. reguläre Ausdrücke.

Wie Postfix E-Mails zustellt

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
/
^| |v
- lmtp(8) -> Network
/
incoming -> active -> qmgr(8) --- local(8) -> File, command
^| |v
\
- 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.

Postfix hinter den Kulissen

Die vorherigen Abschnitte gaben einen Überblick darüber, wie Postfix-Server verarbeitet das Senden und Empfangen von E-Mails. Diese Serverprozesse verlassen sich auf andere Serverprozesse, die Dinge hinter den Kulissen tun. Der Text Im Folgenden wird versucht, jeden Dienst in seinem eigenen Kontext zu visualisieren. Wie Davor sind Namen gefolgt von einer Zahl Postfix-Befehle oder Server Programme, während nicht nummerierte Namen innerhalb schattierter Bereiche darstellen Postfix-Warteschlangen. * Der residente Master(8) -Server ist der Supervisor, der behält ein Auge auf das Wohlergehen des Mailsystems Postfix. Es ist typisch beim Systemstart mit dem Befehl "postfix start" gestartet und läuft weiter, bis das System ausfällt. Der Master(8) -Server ist verantwortlich für das Starten von Postfix-Serverprozessen zum Empfangen und E-Mail-Zustellung und für den Neustart von Servern, die vorzeitig beendet werden wegen irgendwelchen problemen. Der Master(8) -Server ist ebenfalls verantwortlich zum Durchsetzen der Serverprozess-Zählerlimits, wie in der angegeben master.cf Konfigurationsdatei Das Bild unten gibt die Programmhierarchie beim Start von Postfix. Nur ein Teil der Post Verarbeitung von Daemon-Prozessen werden angezeigt.

postfix(1)
| |
Postfix-Skript(1)
/
/
| |


\
\
postsuper(1) Meister(8) Postlog(1)
/
/
| |


\
\
smtpd(8) qmgr (8) lokal(8)
  • Der anvil(8) -Server implementiert die Client-Verbindung und Anforderungsrate Begrenzung für alle smtpd(8) -Server. Das TUNING_README Dokument bietet Anleitungen zum Umgang mit fehlerhaften SMTP-Clients. Das anvil(8) ist in Postfix Version 2.2 und höher verfügbar.
Netzwerk -> smtpd(8) <-> Amboss(8)
  • Die bounce(8) , defer(8) und trace(8) werden jeweils verwaltet ihre eigenen Warteschlangen-Verzeichnisbäume mit Protokolldateien pro Nachricht. Postfix verwendet diese Informationen beim Senden von „fehlgeschlagen“, „verzögert“ oder „erfolgreich“ Benachrichtigungen über den Zustellstatus an den Absender.
    Der Trace(8) -Dienst implementiert auch die Unterstützung für Postfix "Mail senden -bv" und "sendmail -v" Befehle, die Berichte darüber erzeugen, wie Postfix liefert Mail und ist mit Postfix Version 2.1 verfügbar und später. Siehe DEBUG_README zum Beispiel.
aufräumen(8) -> qmgr (8) Postfix Warteschlange -> Lieferung Agenten
^ | | in | in
(Nicht-) Lieferung Notiz <- prall(8) aufschieben(8) Spur(8) <- Warteschlange Ich würde, Empfänger, Status
^ | | in
Pro- Botschaft logfiles
  • Die flush(8) -Server führen Protokolle pro Ziel und Implementieren Sie sowohl ETRN als auch "sendmail -qRdestination", wie beschrieben im ETRN_README . Dies verschiebt ausgewählte Warteschlangendateien aus die Warteschlange zurück zur eingehenden Warteschlange und fordert deren Lieferung. Der flush(8) -Dienst ist mit der Postfix-Version verfügbar 1.0 und höher.
eingehend ^ aufgeschoben
^ |
smtpd(8) sendmail(1) nach(1) - Ziel spülen -> bündig(8) <- Aufgeschoben Ziel, Warteschlange Ich würde - Lieferung Agenten, qmgr (8)
^ | | in
Pro Ziel- nation Protokolle
  • Die Proxymap(8) -Server bieten Read-Only und Read-Write Tabellensuche Dienst für Postfix-Prozesse. Dies überwindet Chroot-Einschränkungen, reduziert die Anzahl der offenen Nachschlagetabellen, indem eine geöffnete gemeinsam genutzt wird Tabelle zwischen mehreren Prozessen und implementiert Single-Updater Tische.
  • Der scache(8) -Server verwaltet den Verbindungs-Cache für der Postfix smtp(8) -Client. Wenn Verbindungscaching aktiviert ist für ausgewählten Zielen, trennt der SMTP(8) -Client die Verbindung nicht unmittelbar nach einer Mail-Transaktion, sondern gibt die Verbindung zu der Verbindungs-Cache-Server, der die Verbindung offen hält für a begrenzte Zeit. Der smtp(8) -Client fährt mit einigen fort andere E-Mail-Zustellungsanforderung. Inzwischen kann das jeder smtp(8) -Prozess Fragen Sie den scache(8) -Server nach dieser zwischengespeicherten Verbindung und verwenden Sie sie für die Postzustellung. Als Sicherheitsmaßnahme begrenzt Postfix die Anzahl wie oft eine Verbindung wiederverwendet werden kann.
    Beim Zustellen von E-Mails an ein Ziel mit mehreren E-Mail-Servern Verbindungs-Caching kann helfen, einen nicht antwortenden Server zu überspringen, und damit die Lieferung drastisch beschleunigen. Zwischenspeichern von SMTP-Verbindungen ist in Postfix-Version 2.2 und höher verfügbar. Mehr Informationen zu dieser Funktion finden Sie im CONNECTION_CACHE_README .
/-- SMTP(8) --> Internet
qmgr (8) | | | | v
  \-- SMTP(8)  
  ^ |
schach(8)

Ein Postfix smtp(8) -Client kann eine TLS-verschlüsselte Verbindung wiederverwenden (mit " smtp_tls_connection_reuse = yes"). Dies kann stark reduzieren den Overhead des Verbindungsaufbaus und verbessert die Nachrichtenübermittlung Preise. Nachdem ein Postfix smtp(8) -Client eine Verbindung zu einem entfernten SMTP herstellt server und sendet Klartext-EHLO- und STARTTLS-Befehle, die smtp(8) Client fügt wie gezeigt einen tlsproxy(8) -Prozess in die Verbindung ein unter.

Nachdem die E-Mail-Transaktion abgeschlossen ist, wird der Postfix- smtp(8) -Client gibt die smtp(8) -to -tlsproxy(8) -Verbindung zum scache(8) Server, der die Verbindung für eine begrenzte Anzahl offen hält Zeit. Der smtp(8) -Client fährt mit einer anderen Mail-Zustellung fort Anfrage. Inzwischen kann jeder Postfix smtp(8) -Client den scache(8) Server für diese zwischengespeicherte Verbindung und verwenden Sie sie für die E-Mail-Zustellung erneut.

/-- SMTP(8) --> tlsproxy(8) --> Internet
qmgr (8) | | | | v
  \-- SMTP(8)  
  ^ |
schach(8)
Ausgabe <- mailq (1) Post- Warteschlange(1) <- showq(8) <- Postfix Warteschlange
  • Die spawn(8) -Server führen auf Anfrage Nicht-Postfix-Befehle aus, mit dem Client, der über Socket oder FIFO mit dem Befehl verbunden ist Standard-Eingabe-, Ausgabe- und Fehlerströme. Sie finden Beispiele für seine Verwendung im SMTPD_POLICY_README .
  • Der tlsmgr(8) -Server wird ausgeführt, wenn TLS (Transport Layer Sicherheit, früher bekannt als SSL) ist in Postfix smtp(8) aktiviert Client oder smtpd(8) -Server. Dieser Prozess hat zwei Aufgaben:
    • Pflegen Sie den Pseudo-Zufallszahlengenerator (PRNG). wird verwendet, um die TLS-Engines im Postfix smtp(8) -Client oder smtpd(8) Serverprozesse. Der Zustand dieses PRNG wird periodisch gespeichert eine Datei und wird gelesen, wenn tlsmgr(8) startet.
    • Pflegen Sie den optionalen Postfix smtp(8) -Client oder smtpd(8) Server-Caches mit TLS-Sitzungsschlüsseln. Gespeicherte Schlüssel können sich verbessern Leistung durch Reduzierung der Berechnungsmenge zu Beginn von eine TLS-Sitzung.

TLS-Unterstützung ist in Postfix Version 2.2 und höher verfügbar. Informationen zur Postfix-TLS-Implementierung finden Sie in TLS_README dokumentieren.

Netzwerk -> smtpd(8)   <---Samen--- <-Sitzung-> tlsmgr(8)   ---Samen---> <-Sitzung-> SMTP(8)   -> Netzwerk
/
/
| |


\
\
smtpd Sitzung Zwischenspeicher PRNG Zustand Datei smtp Sitzung Zwischenspeicher
  • Der verify(8) -Server überprüft, ob es sich um einen Absender oder Empfänger handelt Adresse zustellbar ist, bevor der smtpd(8) -Server sie akzeptiert. Das Der verify(8) -Server fragt einen Cache mit den Ergebnissen der Adressüberprüfung ab. Wenn kein Ergebnis gefunden wird, fügt der verify(8) -Server eine Sonde ein Nachricht in die Postfix-Queue und verarbeitet die Statusaktualisierung ab ein Zustellungsagent oder Warteschlangenmanager. Dieser Vorgang ist in der ADDRESS_VERIFICATION_README dokumentieren. Der Verify(8) -Dienst ist mit der Postfix-Version verfügbar 2.1 und höher.
  -> Sonde Botschaft -> Postfix Post Warteschlange
Netzwerk -> smtpd(8) <-> verifizieren(8)
| in
<- Sonde Status <- Postfix Lieferung Agenten -> Lokal -> Netzwerk
  ^ | in
 
  Adresse Überprüfung Zwischenspeicher
  • Der postscreen(8) -Server kann Postfix "vor" gestellt werden smtpd(8) -Prozesse. Sein Zweck ist es, Verbindungen von der zu akzeptieren Netzwerk und um zu entscheiden, mit welchen SMTP-Clients kommuniziert werden darf Postfix. Laut dem Jahresbericht 2008 von MessageLabs sind 81 % der alle E-Mails waren Spam und 90 % davon wurden von Botnets gesendet; bis 2010, diese Zahlen waren 92 % bzw. 95 %. Während Postscreen(8) hält die Zombies fern, es bleiben mehr smtpd(8) -Prozesse verfügbar für seriöse Kunden.
    postscreen(8) verwaltet eine temporäre Zulassungsliste für Clients, die seine Tests bestehen; indem zugelassenen Clients erlaubt wird, Tests zu überspringen, postscreen(8) minimiert seine Auswirkungen auf den legitimen E-Mail-Verkehr.
    Der postscreen(8) -Server ist mit Postfix 2.8 und verfügbar später. Um die Implementierung einfach zu halten, postscreen(8) -Delegates DNS Allow/Denylist-Lookups für dnsblog(8)-Serverprozesse und delegiert die TLS-Verschlüsselung/Entschlüsselung an tlsproxy(8)-Serverprozesse . Diese Delegierung ist für den Remote-SMTP-Client unsichtbar.
Zombie
\
Zombie - tlsproxy(8) - - smtpd(8)
\ /
Sonstiges --- Postscreen(8)
/ \
Sonstiges - - smtpd(8)
/
Zombie
  • Der postlogd(8) -Server bietet eine Alternative zu Syslog Protokollierung, die die Standardeinstellung bleibt. Diese Funktion ist verfügbar mit Postfix Version 3.4 oder höher und unterstützt die folgenden Modi:
    • Protokollierung in Datei, die ein Usability-Problem mit adressiert MacOS und eliminiert Informationsverluste, die durch systemd-Ratenbegrenzungen verursacht werden.
Befehle oder Dämonen  
-> postlogd(8) -> /Pfad/zur/Datei
 
  • Protokollierung auf stdout, wodurch eine Syslog-Abhängigkeit beseitigt wird wenn Postfix in einem Container läuft.
Befehle oder Dämonen   stdout geerbt von "postfix start-fg"
-> postlogd(8) ->
 

Siehe MAILLOG_README für Details und Einschränkungen.