In der SuSE-Distribution ist sendmail in der Serie n
enthalten, es wird daher
am einfachsten über YaST installiert:
Installation festlegen/starten ->
Konfiguration ändern/erstellen ->
Netzwerk-Support
Nach der Installation kann sendmail dann wieder über
YaST
mit seiner
Konfigurationsdatei (sendmail.cf) versehen werden. Hierfür ruft man
in YaST das Menü
Administration des Systems ->
Netzwerk konfigurieren ->
Sendmail konfigurieren
auf.
Wählen Sie Konfiguration mit Zugriff über einen Nameserver, um
sendmail über
eine ppp-Verbindung auf den Provider zugreifen zu lassen. Wenn der Server
ausschließlich lokal betrieben wird ist die Auswahl beliebig, kann bei einem
späteren INTERNET-Anschluß aber jederzeit geändert werden. Im Verzeichnis /etc
wird jetzt die Konfigurationsdatei angelegt. Ferner schreibt die Installation
in das Verzeichnis /sbin/init.d das Start-/Stopscript sendmail und legt in
/etc/rc.d/rc2.d die symbolischen Verweise S20sendmail und K20sendmail an.
Um sendmail jetzt zu starten geben Sie an der Kommandozeile den Befehl
root@linux ~#
sh /etc/rc.d/sendmail start
|
ein. Das Kommando ps sollte uns jetzt folgende Ausgabe liefern:
root@linux ~#
ps ax| grep sendmail
22432 ? S 0:00 sendmail: accepting connections on port 25
|
Wie man erkennen kann, benutzt sendmail jetzt den Port 25
(SMTP) für ein- und
ausgehende Verbindungen. Um im laufenden Betrieb einen Neustart des Dienstes
zu erreichen genügt ein
sh /etc/rc.d/sendmail reload
Das Verhalten von sendmailkann UNIX-üblich über
Kommandozeilenparameter
beeinflußt
werden. SuSE hat hierfür in das Start-/Stopscript Variable aufgenommen, welche
in der Datei /etc/rc.config gesetzt werden.
Diese sind:
-SENDMAIL_TYPE="yes"
bestimmt, dass die Konfiguration von sendmail.cf über rc.config
und YaST erfolgen soll. Bei ``no'' müssen wir diese selber editieren.
-SENDMAIL_SMARTHOST=""
Bei Verbindung über UUCP wird hier der sog. ``smarthost''
(der Kommunikationspartner) eingetragen.
-SENDMAIL_LOCALHOST="localhost"
Die hier aufgeführten Namen werden als Aliasnamen für den
eigenen Rechner betrachtet. Es unterbleibt die DNS-Anfrage!
-SENDMAIL_RELAY=""
Sendmail liefert keine Nachrichten lokal aus, sondern übergibt
diese an das Relay. Damit kann ein Relay-Verbund aufgebaut werden.
-SENDMAIL_ARGS="-bd -q30m -om"
Hier werden sendmail seine Startparameter übergeben.
Die komplette Liste erhält man mit man sendmail, die hier
aufgeführten Werte bedeuten:
-bd:
sendmail startet als Daemon
und geht in den Hintergrund
-q30m:
die Nachrichten in der Warteschlange
werden alle 30 Minuten abgearbeitet
-om:
die Option ``m'' wird gesetzt
(s. Installations- und Betriebshandbuch ;-))
SENDMAIL_EXPENSIVE="yes"
Mit dieser Einstellung schreibt sendmail die Nachrichten
nur in seine Messagequeue und stellt sie erst beim Aufruf
sendmail -q zu. Dies wird benötigt, wenn man den Server
mittels
ISDN-Wählverbindung an das INTERNET gehängt hat und nicht will,
dass jede ausgehende Mail eine Verbindung zum Provider aufbaut.
Stattdessen ruft man sendmail -q per crontab z.B. in den
Nachtstunden
auf und holt bzw. sendet die Mail in einem Rutsch (Polling). Alternativ
kann der Eintrag auch in das PPP-Startscript aufgenommen werden,
so dass bei jedem Verbindungsaufbau auch ein Mailaustausch stattfindet.1.1
SENDMAIL_NOCANONIFY="no"
Sendmail versucht nicht mehr, bei jeder Mail den vollen Namen
der Mailadresse per DNS aufzulösen. Diese Einstellung ist ebenfalls
bei ISDN-Dialup-Verbindungen wichtig um zu verhindern, dass auch lokale
Adressen über den DNS des Providers aufgelöst werden. Alternativ
kann auch ein lokaler DNS dies unterbinden (s. Aufbau eines DNS-Servers)
|
Um zu verstehen, warum sendmail als ``Konfigurationsmonster''
gilt, hier ein
kleiner Ausschnitt aus der Datei sendmail.cf:
sendmail.cf
|
Cwlocalhost
# my official domain name
# ... define this only if sendmail cannot automatically
determine your domain
#Dj$w.Foo.COM
CP.
# "Smart" relay host (may be null)
DS
# place to which unknown users should be forwarded
#Kuser user -m -a<>
#DLname_of_luser_relay
# operators that cannot be in local usernames (i.e., network indicators)
CO @ % !
# a class with just dot (for identifying canonical names)
C..
# a class with just a left bracket (for identifying domain literals)
C[[
# Mailer table (overriding domains)
Kmailertable hash -o /etc/mail/mailertable.db
# Domain table (adding domains)
#Kdomaintable dbm /etc/domaintable
# Generics table (mapping outgoing addresses)
Kgenerics hash -o /etc/mail/genericstable.db
|
|
Die Datei mailertable legt fest, auf welchem Wege die Mail für bestimmte
Zielsysteme zugestellt werden soll. Sie wird standardmäßig bei SuSE nicht
angelegt,
was zu Problemen führen kann, wenn man nicht das von SuSE gelieferte rpm-Paket
installiert, sondern sendmail aus den Sourcen heraus selbst
übersetzt. Am
besten,
man legt die Datei mit dem Befehl
root@linux ~#
touch /etc/mailertable
|
an und läßt sie leer.
Wenn man sie jedoch einsetzten will hat sie folgenden Aufbau:
/etc/mailertable
|
# /etc/mailertable
# Legt fest, wie ein Host zu erreichen ist
# Zuerst die Zustellung in der eigenen Domain über smtp.
# %1 wird dabei durch die eMail-Adresse des Empfängers ersetzt
# Hinweis: Der Domainname muß aufgelöst werden können!
.my.domain smtp:%1
my.domain smtp:%1
# Der Rechner somebody ist über relay.my.domain erreichbar
somebody smtp:[relay.my.domain]
# Für den Rechner number soll kein DNS genutzt werden
number smtp:[192.168.1.56]
|
Um diese mailertable dem Programm sendmail bekannt zu machen
muß sie mit dem
Befehl
makemap
in ein DBM-Format übersetzt werden. Neustarten des sendmail
nicht vergessen!
|
Die Datei /etc/aliases ermöglicht es, einer realen Mailadresse verschiedene
Pseudonyme zuzuordnen. So existiert auf Webservern in der Regel dein Aliasname
für den Systemverantwortlichen als webmaster@my.domain, das NetNews-System
benutzt
das Synonym news@my.domain um Fehlermeldungen zuzustellen. Um nicht für jede
dieser Kennungen echte Accounts anlegen zu müssen, können diese einem oder
mehreren User-Accounts zugeordnet werden.
/etc/aliases
|
# /etc/aliases
# Zuordnung von Aliasnamen zu realen Accounts
# Erst die Systemkennungen:
news: pmeier, \news
newsadmin: pmeier
newsadm: pmeier
webmaster: rschulz
postmaster: sschmidt
mail: sschmidt
root: nkrueger, \root
# ``sprechende'' Aliasnamen für die Accounts
pmeier: peter.meier
rschulz: robert.schulz
sschmidt: stefan.schmidt
nkrueger: norbert.krueger
|
Die Syntax ist damit recht einleuchtend, interessant sind die Einträge
news:
pmeier, \news und root: nkrueger, \root. Damit wird sichergestellt, dass
die an
die Kennungen news und root adressierten Nachrichten nicht nur an den realen
Benutzer pmeier, sondern auch an die Systemkennungen news bzw. root zugestellt
werden. Damit erzeugt man quasi ein Mailarchiv für diese Kennungen und kann
darin auch noch nach Meldungen suchen, wenn nkrueger sie bereits in seinem
Eingangskorb gelöscht hat.
In der zweiten Hälfte der Datei werden die heute recht gebräuchlichen
eMail-Adressen
der Form mein.name@my.domain erzeugt. Dieser Abschnitt will allerdings auf einem
Produktivsystem mit häufig wechselnden Accounts gepflegt sein!
Bevor die Aliasnamen eingesetzt werden können, muß mit dem Befehl
newaliases
erst wieder eine DBM-Datei erzeugt werden.
Auch hier schadet es nichts, sendmail neu zu starten!
|
|