HOME

Anleitung Suse Version 7.1
Anleitung Suse Version 8 aus der SUSE Datenbank
	
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 (clicke hier): 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 YaST. 
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 hier lesen oder bei SuSE 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 beim 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. 

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


Jetzt kommt eine Kopie aus der Suse Support Datenbank Der Artikel ist zu finden unter http://sdb.suse.de/de/sdb/html/stark_sendmail_8.html

SuSE Linux: Version 8.0

Anliegen:

Wie können Mails mit Hilfe von Sendmail und des SMTP-Protokolls an den Mailserver des Providers weitergeleitet werden?

Dieser Artikel beschreibt die Konfiguration über die sysconfig Variablen ohne Verwendung von YaST.

Vorgehen:

Vorbemerkungen:

Konfiguration:

Die erzeugte Konfiguration befindet sich unterhalb des Verzeichnisses /etc/mail und in /etc/sendmail.cf.
Diese Konfiguration wird aus den Variablen in /etc/sysconfig/mail und /etc/sysconfig/sendmail generiert.

Einstellungen in /etc/sysconfig/mail:

Einstellungen in /etc/sysconfig/sendmail:

Wenn Sie bei Ihrem Provider die gleiche Mail-Kennung haben, wie auf Ihrem lokalen System, sind damit bereits alle Einstellungen gemacht.
Sie können also mit dem Kommando sendmail -q Ihre Mails über Ihren Provider verschicken, nachdem Sie SuSEconfig ausgeführt haben und sendmail neu gestartet haben.
rcsendmail reload

/etc/mail/genericstable:

Falls Sie verschiedene Benutzernamen haben, müssen Sie noch die Datei /etc/mail/genericstable anpassen.
Diese sorgt dafür, dass die Mailadressen beim Versenden umgeschrieben werden.

Der Eintrag muss folgendermassen aussehen:

lokalerBenutzername	mailadresse@provider.de
Nach Änderungen an dieser Datei muss entweder SuSEconfig oder folgendes Kommando ausgeführt werden
makemap hash /etc/mail/genericstable.db < /etc/mail/genericstable

Die Funktionalität von genericstable kann zwar durch einige Mailprogramme, wie z.B. pine, selbst erreicht werden, aber die Vorgehensweise durch die genericstable bietet eine vom Mailclient unabhängige Konfiguration.

Bemerkungen:

Mails werden dann automatisch bei jeder Anwahl über das Skript /etc/ppp/poll.tcpip versendet.