Anzeige:
Ergebnis 1 bis 1 von 1

Thema: Mailserver-Anleitung (sendmail mit SMTP AUTH, fetchmail, vacation, procmail)

  1. #1
    termito
    Gast

    Lightbulb Mailserver-Anleitung (Sendmail mit SMTP AUTH, fetchmail, vacation, procmail)

    Mailserver mit SuSE Linux
    Getestet unter: SuSE 7.1

    Folgende Software sollte auf dem Linux-Rechner installiert sein:

    Sendmail (serie n1: sendmail.rpm) : zum Versenden und Empfangen von Emails
    fetchmail (serie n1: fetchmail.rpm) : zum Abholen der E-Mails vom eigenen Providers via POP/IMAP
    qpopper (serie n2: qpopper.rpm) oder cucipop (nicht in SuSE enthalten): zum Abrufen der Emails über das POP3-Protokoll
    procmail (serie n: procmail.rpm): zum Weiterleiten der Mails
    vacation (serie n: vacation.rpm) : automatische Benachrichtigung für erfolgreich gesandter Mails an den Versender

    1. Sendmail zum Versenden und Empfangen der Emails:

    Zum Senden von Emails (über das SMTP Protokoll) brauchen wir das Programm sendmail (MTA =Mail-Transport-Agenten). Will man auch über seine eigene IP, DynamicIP-Provider oder über ein MX-Record Emails empfangen eignet sich sendmail ebenfalls dazu.

    Wer Sendmail konfigurieren will kann entweder die Datei "etc/sendmail.cf" editieren oder das Ganze bei SuSE mit YaST1. SuSE hat uns das Leben hier stark vereinfacht, indem es ein vorkonfiguriertes Sendmail liefert und die wichtigsten Einstellungen in eine einfache Konfigurationsdatei zusamengefaßt hat.

    Yast ->Administration des Systems ->Netzwerk konfigurieren ->Sendmail konfigurieren -> entsprechende Konfiguration auswählen

    Hier ein Beispiel für Experten Modus:
    Domainname für lokale Zustellung: localhost
    Host für ausgehende eMail: mail.isis.de (oder so)
    Host für alle eMail: (leer)
    Mail nur in die Queue stellen: [X]
    Kein canonify der Hostnamen:[ ]
    Sendmail als smtp Daemon starten: [X]
    Kommandozeilenparameter für Sendmail: -bd -om
    In Genericstable änderbare Domains: (leer)

    # Startparameter
    # -bd : als Dämon starten
    # -om : Emails an sich selber erlaubt
    #SENDMAIL_ARGS = -bd -om

    So, das war's mit YaST. Jetzt sollte man als nächstes noch die Zugriffsberechtigung für sein lokales Netz festlegen.
    Dies geschieht in der Datei /etc/mail/access. Dort trägt man die IP-Bereiche/Adressen ein, die Zugriff auf den
    Email-Server haben sollen.

    Datei: /etc/mail/access # Description:
    # With this file you can control the access to your mail server.
    # Format:
    #
    #
    #
    # #
    # Network IP-addresses have to end on octet boundary, e.g. 127.0.0
    # The right hand side `' could be one of
    # the keywords
    #
    # OK (accept mails even if other rules would reject them)
    # REJECT (reject mails even if other rules would accept them)
    # RELAY (relay this domain, implicit OK within other rules)
    # DISCARD (mail are discard)
    #
    127 RELAY
    192.168 RELAY

    Um sendmail mit Authentifizierung SMTP AUTH zu betreiben bitte bei SuSE7.1 folgendes beachten:

    1.sendmail.rpm durch sendmail-tls.rpm ersetzen und cyrus-sasl.rpm zusätzlich installieren

    2.usr/lib/sasl/Sendmail.conf bzw. /usr/local/lib/sasl/Sendmail.conf mit folgender Zeile erstellen :
    pwcheck_method: pam

    3.in /etc/sendmail.cf unter "local-info" folgendes eingegeben:
    C{TrustAuthMech}LOGIN PLAIN
    O AuthMechanisms=LOGIN PLAIN

    4. rcsendmail restart

    Nun kann SMTP AUTH verwenden werden. Dazu muss im Mailprogramm noch die Authentifizierung beim Mailversand aktiviert werden und als Benutzer/Passwort die Daten des POP3 Accounts auf dem Mail-Server angeben werden

    Test:
    # telnet amd 25
    Connected to amd.
    Escape character is '^]'

    220 MX ESMTP Mailserver; Sun, 12 May 2002 15:02:25 +0200
    ehlo amd
    250-amd.all Hello amd.all [192.168.1.2], pleased to meet you
    250-ENHANCEDSTATUSCODES
    250-8BITMIME
    250-SIZE
    250-DSN
    250-ONEX
    250-ETRN
    250-XUSR
    250-AUTH LOGIN PLAIN
    250 HELP

    Falls SMTP_AUTH nicht funktioniert bitte das Paket cyrus-sasl-1.5.5.tar.gz herunterladen und wie folgt compilieren:

    # ./configure --enable-login
    # make
    # make install

    danach gings bei mir.


    Um mit der eigene IP Emails empfangen zu können, muss /etc/mail/sendmail.cw bearbeitet werden.
    In dieser Datei werden nun Zeile für Zeile alle Rechnernamen eingetragen:

    localhost
    amd.local
    mailserver.myip.org
    grazy.dyndns.org
    gohere.yi.org



    2. fetchmail Abholen der E-Mails vom eigenen Providers:

    Lege die Datei /root/.fetchmailrc an und trage für jedes abzufragende Mailkonto bei den Providern jeweils eine Zeile ein:


    poll pop.gmx.net protocol POP3 user tatjana@gmx.net password deinpasswort is tatjana

    Hinter "user" steht der Anmeldename und das Passwort für den Mailserver im Internet. Hinter "is" steht der Username im Linux System, in dessen Mailpostfach die abgeholten Mails abgelegt werden sollen.
    Bitte beachte, dass T-Online Emails nur über eine T-Online Internetverbindung abgerufen werden können. Und da gibt es noch ein Extrabonbon bei T-Online: Name und Passwort sind egal, dürfen aber nicht weggelassen werden. Übrigens muss der Username hinter user in Anführungsstriche (") eingeschlossen werden, wenn er mit einer Ziffer beginnt.

    Bedenke auch dass die Rechteverteilung für die Datei "fetchmailrc" so aussehen muss
    *.fetchmailrc -rwx--x---

    So, nun können mit dem Aufruf fetchmail die Mails abgeholt werden oder regelmäßig über cron abrufen lassen.



    3a) qpopper - POP3 Mail-Daemon
    Sobald die Emails von "fetchmail" abgeholt sind werden sie üblicherweise durch das Programm "procmail" in die Postfächer der lokalen User auf dem Server gelegt. Die Mails liegen also jetzt auf dem Server und können von den Clients (z.B. Outlookexpress) entweder durch das POP3- oder IMAP-Protokoll abgeholt werden.
    Dazu benötigt wird z.B. "qpopper", welcher über die inetd gestartet wird.
    "qpopper" ist ein Programm zum Einrichten eines Mailservers mit POP3 Protokol. Der Daemon unterstützt auch das sicherere APOP Protokol.
    Nach dem Installieren muss der Server in der Datei /etc/inetd.conf aktiviert werden.
    Folgender Eintrag sollte in der Datei etc/inetd.conf vorhanden sein:
    pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/popper -s

    Nachdem man in der Datei etwas geändert hat sollte man das Netzwerk anhalten und wieder neu starten
    damit die Änderungen wirksam werden. Am einfachsten den Runlevel wechseln oder den inetd neu starten.
    Wenn man sich nicht sicher ist geht es auch mit 'shutdown -r now'.

    3b) cucipop - POP3 Mail-Daemon

    Mit einem System auf dem Quotas gestzt sind hat qpopper so seine Probleme, nämlich sobald die Hälfte des Freespaces belegt ist, kann man keine Mails mehr abholen. Das Problem liegt darin, dass qpopper eine temporäre Datei in /var/spool/mail erzeugt, die quasi eine Kopie des Postfachs ist. Wenn die Datei größer als die Hälfte des erlaubten Speichers ist, kann die temporäre Datei nicht mehr erzeugt werden.

    Es bleiben einem 2 Möglichkeiten dieses lästige Problem zu lösen. Entweder man compiliert qpopper mit den bestimmten Optionen neu oder man verwendet cucipop.
    Cucipop ist fast genauso einfach zu verwenden wie qpopper. Man kann cucipop über die inetd oder als standalone(default) laufen lassen evtl. muss die /etc/pam.d/cucipop angepasst werden.

    Da qpopper mittlerweile schwerwiegende Sicherheitbugs aufwies, sollte man sich vielleicht sowieso nach einem anderen POP3_Server umsehen.

    4. procmail zum Weiterleiten der Mails auf einen anderen Useraccount:

    a) Entweder in /etc/aliases bzw. /etc/mail/aliases das Wort joe mit einem Benutzeraccount ersetzen.

    # It is probably best to not work as user root and redirect all
    # email to "root" to another account. Then you don't have to check
    # for important email too often on the root account.
    # The "\root" will make sure that email is also delivered to the
    # root-account, but also forwared to the user "joe".
    root: joe, \root
    Dann mit newaliases die Datenbank aktualisieren.

    b) Einfacher (und von jedem Benutzer selbst) durchführbar ist eine Umleitung mittels ~/.procmailrc.

    touch /root/.procmailrc:
    dann editieren:
    LOGFILE=/var/log/procmail.log
    #LOGABSTRACT=yes
    # forward mail to root to lt
    :0:
    /var/spool/mail/USERACCOUNT
    #:0c: würde die Mail kopieren.


    5. vacation - automatische Benachrichtigung für erfolgreich gesandter Mails an den Versender

    Im jeweiligen Verzeichnis der User befindet sich nachdem man sich als Benutzer einloggd (nicht als root!) und den Befehl /usr/bin/vacation ausführt, die Datei .forward. Will man auch die automatische Benachrichtigung für ein alias, so sollte man folgendes ergänzen (`termito` ist Username `admin` ist alias)

    #vi .forward
    \termito, "|/usr/bin/vacation -a admin termito"
    nach dem Speichern folgendes eingeben:
    #vacation -I

    Falls man unter der root$ vacation als Benutzer termito starten möchte, gibt man folgendes ein:

    #su -c "vacation -I" termito

    #Ende
    Geändert von termito (03.10.02 um 04:23 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •