Mailserver mit SuSE Linux
getestet unter: SuSE 7.1
Folgende Software sollte auf dem Linux-Rechner installiert sein:
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). 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. #/etc/mail/access 127 RELAY 192.168 RELAY Um Sendmail mit Authentifizierung SMTP AUTH zu betreiben bitte
hier lesen oder 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 PLAIN4. rcsendmail restart Nun kann SMTP_AUTH verwenden werden. Dazu muß im Mailprogramm noch die Authentifizierung beim Mailversand aktiviert werden. Teste nun ob Sendmail SMTP_AUTH "versteht": # 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 kompilieren: # ./configure --enable-login # make # make install Um mit der eigene IP Emails empfangen zu können, muss /etc/mail/sendmail.cw
bearbeitet werden. 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: Hinter "user" steht der Anmeldename und das Passwort für den
Mailserver im Internet. 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.
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 muß 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.
Mit einem System auf dem Quotas
gestzt sind hat qpopper so seine Probleme, nämlich sobald die Hälfte des
Freespaces belegt ist,
# 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.c) oder so # Diese .procmailrc leitet Mail an einen anderen User weiter LOGFILE=/var/log/procmail.log ZIELUSER="USERACCOUNT@amd.all" :0 c: * !^X-Loop: Mailweiterleitung | formail -A "X-Loop: Mailweiterleitung" | $SENDMAIL -oi ${ZIELUSER} Nun muss noch in ~/.forward folgendes stehen |/usr/bin/procmail d) Weiterleitung an eine andere Mailserveradresse z.B. gmx.de: Will man seine Mails an eine anderen Mailserveraccount weiterleiten, geht das
so: Nun muss noch in ~/.forward folgendes stehen "deineMAIL@gmx.de" Die Rechteverteilung für die Datei " .forward" sollte dann in etwa so aussehen: -rwx------ 1 termito root 17 2002-10-18 18:43 .forward
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) Nun muss noch in ~/.forward folgendes stehen \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
So das war's auch schon, jetzt lassen sich die Mails mit den Clients vom Linux
Server versenden und abholen.
|