Home | Comics | Gallery | (Amazon| ThinkGeek) wishlist | Donations | Impressum | The Book of Postfix | Postfix - Einrichtung, Betrieb und Wartung | Blog
Der nimmt die Mail aus dem Netz an (smtp listener). Er loggt connect und disconnect Meldungen. Evtl. auch rejects wegen DNSBL-Einträgen, Relaying und Anti-Spam.
Der QueueManager: Er bestimmt, wann eine Mail zurückgestellt wird, weil der Zielhost z.B. nicht erreichbar ist. Er scannt die Queue in regelmäßigen Abständen.
Ohne "d" -- er verschickt Mail via SMTP an andere Hosts.
Er bringt Mail mit ungenügendem Format in eine ordentliche Form. Sowas wie Message-Id, FQDN und so.
Er stellt lokal zu: In Mailboxen, Maildirs oder via .forward ge-pipe-d in Programme.
Dec 1 09:51:35 lgr01 postfix/smtpd[20203]: connect from unknown[10.205.63.184]Eine Verbindung von 10.205.63.184 kommt rein. Die IP/der Hostname ist nicht im DNS, daher unknown.
Dec 1 09:51:36 lgr01 postfix/smtpd[20203]: client=unknown[10.205.63.184]Das ganze nochmal.
Dec 1 09:51:36 lgr01 postfix/cleanup[20204]: 5F476FB802: message-id=<3A276776.4E30B8CF@example.com>Der cleanup Dämon hat entschieden, dass die Mail keine Message-Id hat und fügt deswegen eine ein.
Dec 1 09:51:36 lgr01 postfix/qmgr[4356]: 5F476FB802: from=Der QueueManager erhält die Mail und zeigt von wem die Mail ist, wie groß sie ist und wie groß die Anzahl der Empfänger ist. Queue active bedeutet, daß diese Mail gerade bearbeitet wird., size=2546, nrcpt=1 (queue active)
Dec 1 09:51:36 lgr01 postfix/smtpd[20203]: disconnect from unknown[10.205.63.184]Der Client disconnected.
Dec 1 09:51:36 lgr01 postfix/smtp[20116]: 5F476FB802: to=Via smtp wird die Mail an vorname.nachname@example.com über das Relay 10.207.208.212 verschickt., relay=10.207.208.212[10.207.208.212], delay=0.7, delays=0.52/0.06/0/0.11, status=sent (250 Message accepted for delivery)
Verzögerung ca. 0.7 Sekunden, die andere Kiste hat Erfolg gemeldet (250 accepted for delivery)
Du kannst allerdings bei Konfigurationsänderungen die Option soft_bounce
= yes benutzen.
Sie bewirkt, dass Mail nicht gebounced wird (im fatalen Fehlerfall!),
sondern einfach in die Queue zurückgestellt wird.
D.h. Man kann solange an der Konfiguration rumfummeln, wie man will, ohne Angst zu haben daß Mail verloren geht.
Wenn man für ein Setup z.B. keine lokale Mailzustellung benötigt (Mailrelay, Firewall), so kann man einfach den dazu benötigten Dämonen komplett deaktiveren (in diesem Falle local).
D.h. es ist tatsächlich weniger Code aktiv, als wenn sendmail benutzt wuerde.
Ebenso kann man in dieser master.cf die Parameter für jeden Dämon tunen:
Z.B. kann man die Anzahl der smtp Dämonen auf 200 hochsetzen.
D.h. das bei Bedarf bis zu 200 smtp Dämonen laufen und die Mail rauspumpen. Oder man limitiert die Anzahl der smtpd Dämonen und somit die maximale Anzahl einkommender Verbindungen. In master.cf findet sich auch der Aufruf für cyrus!
Nie wieder m4. Postfix bietet eine Anzahl von Kommandos, mit denen man die /etc/postfix/main.cf edieren kann (aber nicht muss!).
postconf
zeigt die aktuellen Einstellungen aller Parameter. Ein postconf -n
zeigt alle aktuellen Einstellungen an die von Postfixs Standardeinstellungen abweichen (so kann man sehen, was man tatsächlich getuned hat!) Mit postconf soft_bounce
wird der aktuelle Status des Parameters "soft_bounce" angezeigt! Mit postconf -e "soft_bounce = no"
postconf -e "soft_bounce = yes"
kann der Parameter "soft_bounce" manipuliert werden. Vorteil: Man
braucht keinen Editor und es funktioniert aus Skripts.
Änderungen an main.cf und master.cf werden erst durch postfix
reload aktiv. Änderungen in sonstigen Dateien bemerkt Postfix
automatisch bei Bedarf.
Daher habe ich das Makefile in /etc/postfix geschrieben -- es nimmt die notwendigen Aktionen nach Eingabe von make automatisch vor.
Warum?
Wenn bei der Umwandlung von transport nach transport.db ein Fehler auftreten würde, wäre die Datei transport.db ja defekt: Mail würde evtl. nicht zugestellt!
Daher gehe ich so vor:
postmap transport.proto && mv transport.proto.db transport.dbD.h. nur wenn postmap transport.proto klappt, wird die ursprüngliche transport.db überschrieben!
This file was last modified 21. Jul 2007 by root