Docs/lokale E-Mail
Aus Mandriva Community Wiki
[bearbeiten] E-Mail - wie funktioniert das in der Unix/Linux-Welt?
Jeder Benutzer von Linux und Unix besitzt eine lokale Postfachdatei ("Mailbox") in {path|/var/spool/mail/\*}. Benutzer eines Systems können untereinander oder mit außen E-Mail austauschen, oder E-Mail direkt auf der Maschine empfangen.
Dieses lokale E-Mail Postfach ist wichtig, selbst wenn Sie der einzige Benutzer auf Ihrer Maschine sind: mehrere Dienste - ( z.B. at und batch, crond, anacron und MSEC) "schreiben" an 'Root' oder an bestimmte Benutzer - es ist wichtig, dass diese Nachrichten wirklich empfangen und gelesen werden.
Unter Mandriva Linux besorgt das *Postfix* Programm die Verteilung, das Senden und den Empfang von E-Mail Nachrichten.
In diesem Artikel behandle ich nur lokale E-Mail - d.h. den Austausch Nachrichten zwischen Postfächern, die auf einem (einzigen) System eingerichtet sind. Zum Verkehr "mit außen", siehe AdminMailOutbound.
[bearbeiten] Was muss konfiguriert werden?
Lokale E-Mail ist von vornherein richtig konfiguriert (natürlich nur, wenn Postfix installiert ist) - aber mit einer wichtigen Ausnahme: Nachrichten an 'Root'. Root kann nämlich keine E-Mail empfangen, an Root gerichtete Nachrichten müssen an den Verwalter des Systems, einen "wirklichen" Benutzer, weitergeleitet werden. Solche Nachrichten sind im allgemeinen wichtig, oft sogar dringlich; die sendenden Programme erwarten, dass das Postfach von Root regelmäßig gelesen wird. Demgegenüber kommt es vor, dass der Verwalter des Systems sich nur unregelmäßig und selten als Root anmeldet, auch wenn er sich als normaler Benutzer mindestens täglich mehrmals einloggt.
[bearbeiten] Einrichten des Postfachs von Root
In der Datei */etc/postfix/aliases* muss der folgende Abschnitt geändert werden :
# CHANGE THIS LINE to an account of a HUMAN root: postfix
Anstelle von "postfix" müssen, durch Kommas getrennt, die Namen der Benutzer eingefügt werden, welche an Root gesendete Nachrichten empfangen (siehe den MSEC Sicherheitsbericht). Das ergibt, zum Beispiel, den folgenden Abschnitt :
# CHANGE THIS LINE to an account of a HUMAN root: administrator,yoho,tonton
[bearbeiten] Den Namen des Host Rechners definieren
Postfix ist ziemlich eigenwillig und will unbedingt den Domainnamen wissen, unter dem Sie Nachrichten senden und empfangen - ohne das funktioniert Postfix nicht. Der Domainname wird gebraucht um Sie im Internet zu identifizieren, im lokalen Bereich hat er keine Bedeutung. Man kann daher einen willkürlichen Namen angeben - zum Beispiel "localdomain".
Der Hostname ist "localhost", außer Sie haben schon beim Konfigurieren der Internet Einstellungen Ihres Systems einen Hostnamen bestimmt - nehmen wir an "dingsda".
Als nächstes muss die Datei */etc/postfix/main.cf* geändert werden, sie muss die folgenden drei Zeilen enthalten (alle anderen Zeilen bleiben unverändert) :
myhostname = dingsda.localdomain mynetworks_style = host inet_interfaces = localhost
- Die erste Zeile gibt Postfix den Namen Ihrer Maschine in "voller Internet Notierung" (FQDN) - das ist eine Aneinanderreihung (1) des Maschinennamens, (2) eines Punktes und (3) des - willkürlich gewählten - Domainnamens.
- Die zweite Zeile sagt Postfix, das es sich nur mit E-Mail für diese Maschine befassen soll, und dass es keinen Sinn hat E-Mail anderswohin zu schicken.
- Die dritte Zeile konzentriert die Tätigkeit von Postfix auf das Interface "localhost" : Postfix kann E-Mail vom / zum Internet weder senden noch empfangen, eine Maßnahme zum Schutz Ihres PCs.
[bearbeiten] Prüfen, dass die Änderungen von Postfix richtig eingerichtet wurden
Dazu müssen zwei Root Konsolen geöffnet werden.
In der ersten wird eingegeben :
tail -f /\var/log/syslog | grep postfix
Es macht nichts, wenn bis hierher keine Antwort zu sehen ist.
Jetzt in der zweiten Konsole eingeben :
service postfix restart mail root
und danach den Betreff ("test" in diesem Beispiel) und den Text der Nachricht schreiben, mit [STRG] + [D] abschließen.
Als Ergebnis müssen jetzt in der ersten Konsole einige Zeilen erscheinen - prüfen Sie ob alles richtig aussieht wenn Postfix neu gestartet wird. Kontrollieren Sie auch, ob die Nachricht richtig weitergeleitet wurde (die Adresse des endgültigen Benutzers wird angezeigt).
[bearbeiten] Lokale E-Mail in einer Konsole senden und empfangen
Wie schon beschrieben, wird eine Nachricht an den Benutzer 'partner' (auf dem gleichen System) folgenderweise geschrieben und gesendet :
mail partner
Eine Zeile mit, am Anfang, 'Subject :' erscheint, danach den Betreff der Nachricht (mit [ENTER] abschließen) und den Inhalt der Nachricht anfügen; das ganze mit [STRG] + [D] abschließen, oder - schneller - mit [ENTER] eine neue Zeile mit nur einem Punkt und einem zweiten [ENTER] schreiben (der Punkt wird nicht mit der Nachricht gesendet). Die Meldung ist jetzt abgeschickt.
Die Liste der in Ihrem Postfach liegenden Nachrichten wird abgefragt mit :
Als Ergebnis erscheint eine Liste mit nummerierten Nachrichten und, am Ende, eine Eingabeaufforderung (ein Fragezeichen). Um eine dieser Nachrichten zu lesen :
? t Nummer_der_Nachricht
Schließen mit :
? q
Eine Nachricht wird beantwortet mit :
? reply Nummer_der_Nachricht
Eine Nachricht kann auch gesendet werden ohne das Programm zu beenden :
? mail To : Adresse_des_Benutzers
Vorsicht vor einem häufigen Fehler!
\\Wenn lokale Nachrichten mithilfe einer graphischen Konsole (konsole, rXVT, ...) gelesen werden und dazu die Benutzerkennung geändert werden muss, muss dies mit
su -
und nicht einfach mit
su
geschehen - unabhängig ob 'mail' oder ein Programm wie KMail, Thunderbird, usw. verwendet wird. Andernfalls würde die Variable MAIL (sie enthält den Namen der aktuellen Postfachdatei) dem ursprünglichen Benutzer entsprechen, und die E-mail des neuen Benutzers wäre nicht zugänglich.
[bearbeiten] KMail für das Lesen lokaler Nachrichten einrichten
{image:kmail_config.png}
Unter KMail genügt es, ein neues Postfach mit dem Typ "Lokales Postfach" einzurichten. Als Sperrmethode können Sie "FCNTL" oder "Keine" wählen ("Keine" ist ausreichend, wenn E-mail nur gelegentlich empfangen wird). Falls FCNTL gewählt wird, müssen die Zugangsrechte auf /var/spool/mail mithilfe von MSEC bestimmt werden: jeder Benutzer muss Schreibzugang haben (was ein nicht unerhebliches Sicherheitsrisiko darstellt ...).
Es kann auch eine eigene, vom Namen des Postfachs verschiedene, Zieldatei bestimmt werden, zum Beispiel "localmail". Beim Einrichten des Postfachs muss dazu angegeben werden, dass ankommende Nachrichten in dieser Datei zu speichern sind.
Prüfen sich noch, dass die "test" Nachricht (siehe oben) gut angekommen ist!
[bearbeiten] Thunderbird für das Lesen und Schreiben lokaler Nachrichten einrichten
Für Thunderbird muss der Benutzer zuerst in der Gruppe "mail" eingetragen werden (Thunderbird ist beim Sichern der Exklusivität weniger flexibel als KMail). Darunter leidet die Sicherheit des Systems, der Benutzer hat danach im Prinzip das Recht Nachrichten zu löschen oder hinzuzufügen und jede lokale Nachricht zu lesen und zu ändern, egal ob sie ihm gehört oder nicht. Vor allem auf Systemen, die als Mailserver oder als Groupware Server verwendet werden, darf das nicht sein. Das Problem ist leicht zu vermeiden: die Postfachdateien in /var/spool/mail (der Dateiname entspricht dem Benutzernamen) dürfen nur für den jeweiligen Benutzer lesbar und schreibbar sein (~~\-rw\-\-\-\-\-\-\-~~). Dafür kann in 'drakperm' eine Personen-Zugangsregel für '/var/spool/mail*' eingerichtet werden.
Nach dem Einrichten des Namens in der Gruppe muss die Sitzung beendet werden - neues Login reicht, ein vollkommener Neustart ist nicht nötig. Danach muss noch ein neues Postfach vom Typ "Movemail" angelegt werden, die Felder "Servername" und "Benutzername" sind dabei irrelevant - irgendein Wert reicht - ich selber benutze, um kohärent zu bleiben, "localhost" und meinen Benutzernamen.
{image:thunderbird_config.png}
Mit der Schaltfläche "Empfangen" kann jetzt festgestellt werden, ob die vorher geschriebene "test" Nachricht gut angekommen ist.
Es muss jetzt noch ein smtp Server 'localhost' zum Senden von Nachrichten eingerichtet werden: das lokale E-mail Postfach wählen, auf 'Einstellungen des Postfachs' drücken, und - ganz unten links - 'Ausgehender Server (SMTP)' wählen, dann - oben rechts - 'Hinzufügen'. Geben Sie im darauf erscheinenden Fenster als 'Servernamen' 'localhost' ein. Danach wieder zum 'Postfach Einstellungen' Fenster gehen und in der Liste von 'Servernamen' 'localhost' wählen.
Falls auf Ihrem System [crond|AdminAcron2] Aktivitäten laufen und häufig Nachrichten senden, kann sich Ihr Postfach sehr schnell füllen. Hier helfen die "Unterordner" von Thunderbird : solch ein Unterordner kann für crond Nachrichten eingerichtet und mit einem Filter ergänzt werden, so dass Nachrichten von crond direkt in diesem Unterordner ankommen. Damit bleiben im Eingangsordner nur die restlichen Nachrichten - die, falls nötig, auch auf Unterordner verteilt werden können. Information hierüber gibt es bei Geckozone.

