Hallo,
a.gaul@nikocity.de ("Andreas Gaul") writes:
On Sat, Aug 04, 2001 at 03:56:49PM +0200, A. Gaul wrote:
Am Saturday, August 04, 2001 um 03:46:24 PM, schrieb Gerhard Feiner : [...] Ich habe gerade bei mir nachgesehen; es gibt nur eine
* Andreas Gaul
textete am 05.08.01: procmailrc in root und die ist leer. Ist das normal ? Was sollte dann typischerweise drin stehen ?
Erst einmal nichts, daher ist es normal, wenn diese Datei leer ist.
[...]
Kann mir jemand erklären *schäm*, wie sendmail, procmail,usw. zusammenarbeiten ? Es wird mir wohl nix bringen, wennn ich nur irgendwo rumstochere, ohne zu wissen wo. Vielleicht fällt der Groschen dann ja von alleine... [...]
Ich werde mich bemuehen, dies in wenigen Saetzen, vereinfachend, zu erklaeren, obwohl es mir schwerfallen wird. :-(
Sendmail hat (wie jeder andere Mail Transport Agent) die Aufgabe, e-mail von Host A nach Host B zu transportieren; weiterhin e-mail in empfang zu nehmen und zu pruefen, was damit geschehen soll. Regeln fuer diese Pruefung sind in den Dateien /etc/aliases und .forward enthalten. Daher werden auf dem Host mindestens zwei Prozesse fuer sendmail gestartet, zum einen als Daemon, der auf allen Devices an Port 25 darauf wartet, e-mail entgegen zu nehmen, zum anderen als Prozess, der in vorgegebenen zeitlichen Abstaenden prueft, ob die mailqueue e-mail enhaelt, die versand werden soll. (die zeitlichen Abstaende koennen gegen null gehen).
Sendmail ist also nicht fuer die Zustellung der Mail auf dem lokalen Host zustaendig. Wenn du dir die Datei /etc/sendmail.cf naeher ansiehst, wirst du einen Abschnitt 'Local and Program Mailer specification' mit der Definition 'Mlocal' finden, also Mailer local, dort steht dann P=/usr/bin/procmail, also local Mailer Programm procmail,etwas weiter unten findest du dann den Abschnitt PROCMAIL Mailer specification, Mprocmail, dann wieder P=/usr/bin/procmail und A=procmail -Y -m $h $f $u, dies sind die Argumente, mit denen procmail von sendmail aufgerufen wird, um lokale Mail zuzustellen. Moechtest du diese Argumente veraendern oder erweitern, kannst du dies entweder in einer systemweiten Datei /etc/procmail.rc oder in einer individuellen ~/.procmailrc definieren.
In einem privaten Netzwerk ist aber nun der Mailserver (der Host, auf dem sendmail laeuft) nicht staendig und dauerhaft mit dem Internet verbunden, daher wir die e-mail fuer den lokalen Host auf einem e-mail Server eines Providers zwischengelagert. Sie kann dann bei Bedarf dort abgeholt werden. Hierzu ist das PostOfficeProtocol POP definiert werden, dies ist in der Version 3 gueltig, bekannt als pop3. Unter unix ist nun das Programm fetchmail fuer das Abholen von e-mail zustaendig. Waehrend sendmail fuer den Transport von Host zu Host und den lokalen Empfang zustaendig ist, ist fetchmail nur fuer das Abraeumen von fernen Mail-Accounts zustaendig, aber nicht fuer die lokale Zustellung. Daher uebergit fetchmail auf dem lokalen Host an port 25 die mail an sendmail, sendmail wieder prueft anhand vorhandener Regeln, was mit der mail zu geschehen hat, dabei wird dann fuer den lokalen Host bestimmte mail an procmail uebergeben, mail die als nicht fuer den lokalen Host bestimmt, erkannt wird, wird dann den definierten Regeln entsprechend behandelt.
Ich hoff, das ist verstanedlich dargelegt.
... Super, da habe ich jetzt verstanden. Das heißt also für meinen Fall, daß auf meinem Server, auf dem sendmail, fetchmail und procmail laufen irgendjemand falsch sortiert. Es bleiben also als Verdächtige procmail und sendmail. Ich nehme jetzt einfach mal an, daß für meinen Server der Account Daemon als local erkannt wird, was bedeuten würde, daß procmail der Übeltäter ist. Vorausgesetzt, ich habe die obigen Erläuterungen richtig verstanden. Wenn procmail Blödsinn macht, dann gibt's wiederum zwei Möglichkeiten: in einer procmailrc steht Mist - was bei mir nicht der Fall ist oder der lokale MTA wird von sendmail falsch aufgerufen. Das hieße, das Problem ist in den procmail-Argumenten bei sendmail zu suchen. Wenn hingegen 'Daemon' als nicht lokal erkannt wird wäre sendmail zu überprüfen. Ich hoffe, daß ich das jetzt alles richtig verstanden habe; denn langsam nervt die Prozedur, in /var/mail die Datei daemon in root umzubenennen... Danke nochmal für die ausführlichen Erklärungen, Andreas