Linux.postfix

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen

Ziel

  • Kompletter Mail Server, der von innen wie von aussen kontaktiert werden kann (via pop3,smtp). Er soll für mehrere Domain-Namen (alle auf die eigene ServerIP gebunden) die Post verwalten und natürlich kein offenes Relay sein.

Voraussetzungen

  • ein Linux Server mit fester IP Adresse
 meine, bei t-com bestellte feste IP ist z.B. 
  • einen PTR Eintrag deiner IP Adresse, ab jetzt ReverseHost bezeichnet
 host -t PTR <DeineFesteIP>
  • bei allen "@" Domains die der Mailserver hosten soll, muss der ReverseHost als MX Eintrag gemacht sein:
 host -t MX <DeineMailDomain>
  • ein System, beim dem mit YaST2 noch nichts an der Mail-Konfiguration geschraubt wurde - dies sollte man lieber lassen. Bitte im Falle dass dennoch mit YaST2 Mail konfiguriert wurde, sicherstellen, dass die fetchmailrc Datei leer ist. Sonst kann es zu Problemen bei der Mail Zustellung kommen. Der Sender an ein Postfach erhält dann die Nachricht:


 <m7489015-1@pd95b1f54.dip0.t-ipconnect.de> (expanded from
    <m7489015-1@localhost>): mail forwarding loop for
    m7489015-1@pd95b1f54.dip0.t-ipconnect.de

Aktivierung der notwendigen Dienste

Wir verwenden das bebliebte Postfix Programm. Es ist sehr umfassend, dennoch kann man die Schritte, die man braucht um alles aufzusetzen (nach Wochen der Forschung) an 2 Händen abzählen. Also wie immer: Die Details später, erst mal soll es funktionieren!

 chkconfig --add postfix
 chkconfig --add saslauthd
 rcpostfix start
 rcsaslauthd start

Anlegen eines neuen eMail Postfaches (und die Zuordnung zu einem Benutzer)

 YaST2->Sicherheit und Benutzer->Benutzer bearbeiten und anlegen
 <Alt><H>(für Hinzufügen)
 Daten ensprechende Eintrag:
 POP3 Konto ist der Benutzername
 POP3 Passwort ist das normale Password
 Die Gruppenrechte entsprechend völligst minimal einstellen. Einen Login verhindern, diese Benutzer dürfen ausschliesslich via popper ihre eMails abholen!
   
 -- Mailname korrekt einstellen
 joe /etc/postfix/virtual
 unten Eintragen:
 domain.tld                         DOMAIN
 vorname.nachname@domain.tld        Benutzername@localhost
 # Bemerkung:
 # ==========
 # Die erste Zeile "domain.tld" muss nur 1x pro gehostetem Domainname
 # als "überschrift" über alle User dieser Domain eingetragen werden
 # damit wird postfix klargemacht, dass es für diese Domains zuständig 
 # ist.
 
 -- das ganze compilieren mit postmap

 postmap /etc/postfix/virtual
 
 -- die ganzen Änderungen jetzt bekannt machen
 postfix reload

Anlegen einer Weiterleitung

Für eine reine Weiterleitung brauchen wir keinen neuen Benutzer anlegen. Es reicht ein Eintrag in die "virtual".

 joe /etc/postfix/virtual

 domain.tld            DOMAIN
 name@domain.tld       weiter.leitungs.ziel@fremder-domain.tld

 postmap /etc/postfix/virtual

Diagnose Möglichkeiten

Zum Test braucht man unbedingt eine funktionierende Mail Adresse, die von einem externen Server aus operiert. Mit dieser identität kann man nun den eigenen Mail Server auf seine Funktion hin testen. Für den Sicherheits - Check, ob ich selbst ein offenes Relay gezaubert habe verwende ich http://ordb.org.

/var/mail

# in diesem Verzeichnis befinden sich die Mail aller Benutzer. 
# Pro Postfach wird eine Datei mit dem Dateinamen = Benutzername
# geführt. Ist diese > 0 Bytes hat der Benutzer unabgerufenen Mail
# Dateidatum und Uhrzeit zeigt den Zeitpunkt der Zustellung der 
# letzten Mail.
/var/log/mail.*

# wichtige Informationsquelle bei Störungen
postconf <ParameterName>

# Anzeigen des im Moment gültigen Wertes einer Einstellung.