Tja.....tja........das ist nicht ganz so einfach wie Schuhe zubinden aber
machbar. :-)
Wir haben es hier seit 1 Woche am laufen und uns dabei einige N=E4chte um=
die
Ohren gehauen......aber es l=E4uft.
Ich habe Dir mal unten einen kleine Beschreibung angeh=E4ngt, mit welcher=
Du in
der Lage sein solltest Mails zu versenden.
Bei Fragen einfach noch mal bellen.
Los geht=B4s
# Instllationsanleitung f=FCr Sendmail 8.9.3 als Mailserver mit Interneta=
nbindung
# --- Die Beschreibung bezieht sich auf DLD 6.x in Verbindung mit dem
Konfigurationstool VIPER
=20
# --- Vorbereitungen
Damit ein solcher Mailserver =FCberhaupt funktionieren kann, m=FCssen=
folgende
Packete installiert sein:
=20
1.=09inetd=09=09=09Internet-Dients-D=E4mon
2.=09imap=09=09=09f=FCr pop3-Anfragen der Clients
3.=09ppp=09=09=09F=FCr die Verbindung zum Provider
4.=09modem oder isdn=09=09ohne ist der Provider rel.=20
schwierig zu erreichen... :-)
5.=09sendmail=09=09Mailverteiler lokal und zum Provider
6.=09fetchmail=09=09holt Mails vom Provider ab und=20
=FCbergibt sie an Sendmail
=20
# --- Installation der Pakete und PPP-Ger=E4te
1.=09Anmeldung als Superuser
2.=09X starten
3.=09Mit Hilfe von Viper die oben aufgelisteten Packete installieren
4.=09Mit dldadmin ein oder Modem oder ISDN konfigurieren
5.=09Mit dldadmin PPP f=FCr den Internet-Provider konfigurieren
=20
# --- Sendmail konfigurieren
# --- Sendmail-Macro erstellen
Ein einfaches Macro f=FCr den Mailserver "mail.my-domain.com"=20
sieht z.B. so aus:
---------------------------------------------------------------------=
-
divert(-1)
#
# Mein kleines Sendmail-Macro
#
divert(0)
include(`../m4/cf.m4=B4)
VERSIONID(`@(#)mail.my-domain.com=09=091.0 (Macro-Author)=B4)
OSTYPE(linux)
DOMAIN(generic)
FEATURE(masquerade_envelop)
FEATURE(allmasquerade)
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(accept_unresolvable_domains)
MASQUERADE_AS(my-domain.com)
FEATURE(relay_entire_domain)
FEATURE(local_procmail)
define(`MAIL_HUB=B4,smtp-mailserver-des-providers)
FEATURE(bestmx_is_local,my-domain.com)
MAILER(local)
MAILER(procmail)
MAILER(smtp)
--------------------------------------------------------------------
=20
"my-domain.com"=09=09mu=DF durch die lokale Dom=E4ne ersetzt werden.
=20
"smtp-server-des-providers"=09mu=DF durch den echten Namen des Mailse=
rvers
=09=09=09=09des Internet-Providers ersetzt werden.
=09=09=09=09
"masquerade_envelop",
"allmasquerade",=09=09legt fest, das anstelle des Rechnernamens
=09=09=09=09im Absenderteil des Mailheaders die mit
=09=09=09=09MASQUERADE_AS() angegebene Dom=E4ne erscheint.
"accept_unresolvable_domains" Bewirkt, da=DF auch Mails, die von eine=
m
=09=09=09=09Absender au=DFerhalb aller bekannten Dom=E4nen
=09=09=09=09stammen akteptiert werden. Wichtig, wenn
=09=09=09=09die Dom=E4ne der eigenen Email-Adresse keiner
=09=09=09=09lokal bekannten Dom=E4ne entspricht. Ohne diese
=09=09=09=09Angabe w=E4re dann kein Mailversand m=F6glich.
=09=09=09=09
"relay_entire_domain"=09Hiermit wird der lokale Mailserver angeweisen
=09=09=09=09vonn allen Rechnern der eigenen Dom=E4ne Mails
=09=09=09=09anzunehmen, die nicht f=FCr die lokale Dom=E4ne
=09=09=09=09bestimmt sind, also ins Internet geschickt
=09=09=09=09werden sollen.
=09=09=09=09
"bestmx_is_local"=09=09Bewirkt, da=DF sendmail vor dem Mailversand
=09=09=09=09pr=FCft, ob eine Mail f=FCr einen lokalen Empf=E4nger
=09=09=09=09bestimmt ist. Ist das der Fall, wird die Mail
=09=09=09=09im lokalen Postfach des Empf=E4ngers abgelegt
=09=09=09=09und nicht an den Provider =FCbermittelt.
=09=09=09=09
"MAIL_HUB"=09=09=09Bestimmt den Namen des SMTP-Mailservers
=09=09=09=09beim Provider. Alle Mails, die nicht lokal
=09=09=09=09zugestellt werden k=F6nnen, werden an diesen
=09=09=09=09Mailserver gesendet.
=09=09=09=09
---------------------------------------------------------------------=
---
=20
# --- sendmail.cf erzeugen und korregieren
Ganz einfach aus dem Verzeichnis /usr/src/sendmial-8.9.3/cf/cf heraus
folgenden Befehel eingeben:
=20
=09m4 sendmail.mc > sendmail.cf
=09
Anschlie=DFend sendmail.cf nach /etc/sendmail.cf kopieren.
=20
In sendmail.cf sollte noch ein Eintrag erg=E4nzt werden:
=20
#CL root
=20
Der Kommentar sollte entfernt und die Liste der lokalen Mailempf=E4ng=
er
angeh=E4ngt werden
=20
Bsp:
=20
CL root sven daniel volker markus tom ...u.s.w...
Die Nachfolgende Zeile
=20
CM root=20
=20
sollte auskommentiert werden. -> #CM
=20
Damit ist die Konfiguration von sendmail schon beendet.
=20
=20
# --- Fetchmail konfigurieren
Neuerdings gibt es ein n=FCtzliches Konfigurations-Tool f=FCr Fetchma=
il
=20
"fetchmailconf" wird unter X ausgef=FChrt und erzeugt /root/.fetchmai=
lrc
=20
Dort werden alle Mailserver alle Email-Provider eingetragen, alle
lokalen Mailempf=E4nger und deren Account-Daten f=FCr den entsprechen=
den
Mail-Provider.
=20
# --- Mailaustausch mit dem Provider
Ein kleinen Script (mailexchange) automatisiert den Mailaustausch.
----------------------------------------------------
#!/bin/bash
/etc/ppp/./ppp-on
sleep 45
sendmail -q
fetchmail > /var/log/fetchmail_log
/etc/ppp/./ppp-off
----------------------------------------------------
Damit ppp-on auf diese Weise funktioniert, m=FCssen wir daran
eine kleine Manipulation vornehmen.
=20
In der letzten Zeile wird die Verbindung zum Provider hergestellt.
Damit das im Hintergrund passiert h=E4ngen wir einfach ein "&" ans En=
de
der Zeile.
=20
Unser kleines Script startet ppp-on, wartet 45 Sekunden bis die
Verbindung zum Provider hergestellt ist, holt Mails von allen in
fetchmailrc eingetragenen Mailservern und Benutzern, =FCbergibt diese
an Sendmail und sendet anschlie=DFend alle lokal nicht zustellbaren M=
ails
an den als MAIL_HUB in sendmail.cf eingetragenen SMTP-Server.
Anschlie=DFend wird die Verbindung zum Provider wieder getrennt.
Damit wir nachher sehen k=F6nnen ob wir alle POP3-Server erreicht und=
alle
Mails bekommen haben, lassen wir eine Log-Datei schreiben.
=20
/var/log/fetchmail_log enth=E4lt alle Informationen =FCber die letzt=
e
=09=09=09 Anfrage bei den bekannten Mail-Servern.
=20
# --- Den t=E4glichen Mailaustausch automatisieren
Um zu erreichen, da=DF der Mailaustausch mit dem Internet automatisch
in zu bestimmten Zeiten durchgef=FChrt wird ( zum Beispiel t=E4glich
um 6.30 Uhr und 20.00 Uhr), reichen zwei Zeilen in der Datei /etc/cro=
ntab
=20
Format: Minute Stunde Tag-im-Monat Monat Tag-der-Woche UserID Befehl
=20
Die Eintr=E4ge in crontab w=E4ren folgende
=20
30 06 * * * root mailexchange
00 20 * * * root mailexchange
=20
# --- Die Systemdienste
Alle Konfigurationsarbeit und Bastelei nutzt nichts, wenn Sendmail
und inetd nicht als Dienst ( D=E4mon ) ausgef=FChrt werden.
=20
Also:
=09dldadmin starten, sendmail sowie inetd als Dienste in der
=09Systemkonfiguration aktivieren und mit init 1 u. init 3
=09das System neu initialisieren.
**** Das war=B4s. Der Mailserver sollte jetzt arbeiten ****
=20
# --- Zugriff der Clients
Welches Bestriebssystem der Client benutzt spielt keine Rolle.
Alles was er braucht, ist ein Mailprogramm mit SMTP- und POP3-
Unterst=FCtzung. Als SMTP- und POP3-Server tragen wir unseren
gerade gebauten Mailserver mit unseren f=FCr diesen Rechner g=FCltige=
n
Benutzerdaten ein. Als Email-Adresse geben wir unsere echte Email-
Adresse, die uns vom Internet-Provider zugeordnet wurde an!
=20
# --- The final test
1.=09Wir schreiben von einem Client-Rechner aus eine Mail an uns selb=
st,
=09und zwar geben wir dabei nur unseren Vornamen an !
=09Mit der n=E4chsten Mailabfrage sollte sich diese Email bereits in
=09unserem Postfach befinden, ohne da=DF der Mailserver eine Verbindung
=09zum Internet hergestellt hat. Die Empf=E4ngeradresse sollte dabei
=09mit der lokal Dom=E4ne erg=E4nzt worden sein, also sollte anstellt von
=09(z.B.) "tomas" als Email-Empf=E4nger "tomas@my-domain.com" erscheinen
=09bzw. irgendwo im Mail-Header zu finden sein.
=20
2.=09Wir schreiben ein Email an unsere echte Internet-Email-Adresse.
=09Diese Mail sollte jetzt im Verzeichnis /var/spool/mqueue des
=09Mailservers zu finden sein, beim n=E4chten Poll-Intervall an den
=09SMTP-Server unseres Email-Providers =FCbermittelt und evt. sofort
=09wieder in unserem lokalen Postfach landen ( das h=E4ngt allerdings
=09von der Vearbeitungszeit unseres Providers ab ).
3.=09Wir schreiben eine Email an einen anderen Benutzer des lokalen
=09Netzwerkes. Diese Mail sollte ( unabh=E4ngig davon ob wir den Empf=E4n=
ger
=09mit oder ohne lokale Dom=E4ne angegeben haben ) sofort in dessen
=09Postfach landen.
=09
# --- Die Zeit nach dem Konfigurations-Stress
=09Urlaub
=09Sonne
=09Strand
=09Party
=09
=09<8->>=09
=09 =09
ru
sascha