IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Linux - Server/Internet/Netzwerk - Sendmail



Sendmail

Der Betrieb eines eigenen mailservers mit schwerpunkt "sendmail" wird näher erläutert.


Autor: Franz Schaefer (mond)
Datum: 09-04-2002, 18:13:04
Referenzen: /usr/share/doc/sendmail/cf.README.gz
/usr/share/doc/sendmail/op.ps.gz
http://mailsoftware.cjb.net/
man sendmail
man makemap
Schwierigkeit: Fortgeschrittene
Ansichten: 6248x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Übersicht

wie wir schon bei den "email basics" gelernt haben braucht man zum betrieb
eines eigenen mailservers ein mailserver programm dass auf port 25
eingehende mails empfaengt und diese eventuell an andere system
weiterleiten kann.

sendmail ist eines der aeltesten programme im internet. inzwischen gibt es
neben dem klassiker sendmail eine reihe anderer mehr oder weniger freier
mailserver:

* exim: unter GNU licence, default bei debian. reicht fuer ganz einfache
systeme

* qmail: auf sicherheit und performance getrimmtes mailsystem.
problematische licence.

* postfix: mailer von IBM. ebenfalls gute performance. keine ideale
licence.

* sendmail: defaktostandard. keine so hohe performance wie qmail oder
postfix. hatte frueher sicherheitsprobleme.

sendmail kann man entweder als daemon laufen lassen der am port 25 auf
mail wartet oder interaktiv. der interaktive aufruf wird i.a. von lokalen
mail clients genutzt um mail zu versenden. im weiteren beschraenke ich
mich hier auf sendmail. das hautptkonfigurationsfile von sendmail ist das
"sendmail.cf" file. allerdings ist dies so lang und komplex dass es kaum
noch per hand editiert wird. ueblicherweise hat man ein sendmail.mc oder
sendmail.m4 dass mithilfe der m4 macrosprache und vielen include modulen
die erzeugung des sendmail.cf files erledigt.

moderne distributionen haben all diese files in /etc/mail ueblicherweise
zusammen mit einem Makefile oder einem script dass fuer die erstellung des
sendmail.cf zustaendig ist. (in debian: sendmailconfig zur erstellung des
Makefiles )

bevor wir zum sendmail selbst bekommen ist wichtig zu wissen welche mail
ueberhaupt an unser sendmail gelangt:

* mail fuer einen unserere hostnamen. wenn wir im DNS
blechkiste.irgendwo.at heissen dann werden andere mailserver veruschen
uns mail fuer xyz@blechkiste.irgendwo.at zuzustellen, sofern es nicht
einen expliziten MX eintrag gibt der besagt dass diese mail nicht fuer
uns ist. heissen wir auch www.irgendwo.at dann bekommen wir auch diese.

* mail fuer die es einen MX eintrag gibt der auf unseren rechner zeigt.

* wenn irgendjemand unseren server als server fuer ausgehende mails
eingetragen hat so fliessen diese mails ebenfalls ueber unser sendmail.

generell gibt es dabei zwei wichtige faelle zu entscheiden:

a) die mail ist wirklich fuer uns. dann muss sie lokal zugestellt werden.

b) dei mail ist NICHT fuer uns. dann muss sie von unserem system in
richtung bestimmungsort weitergeleitet werden. man nennt das "relaying"
(siehe "email basics")

features die fuer uns interessant sind:

das wichtigste ist die Cw zeile.

Cwbleckiste.irgendwo.at irgendwo.at

die Cw zeile sagt welche namen als lokal angesehen werden. wenn also unser
sendmail mail zustellen soll die xyz@irgendwo.at oder
xyz@blechkiste.irgendwo.at heisst dann wird unser sendmail versuchen diese
mail lokal an einen user "xyz" oder ein lokales alias zuzustellen.

mit einem feature kann man einschalten dass diese namen auch aus einem
file gelesen werden. z.b. /etc/mail/local-host-names (es wird eine Fw
zeile in sendmail.cf geschrieben) das file ist praktisch wenn man viele
lokale domainnamen hat.

eine wichtige einstellung sind "relay-domains". also jene domains fuer die
wir relaying erlauben. praktisch ist es sendmail mit dem feature
"access_db" zu konfigurieren. damit hat man erweiterte moeglichkeinten
relaying zu erlauben oder einzuschraenken.
schreibt man z.b. im "access" file:

192.168.123 RELAY
irgendwo.at RELAY

wuerden alle rechner mit IP addresse 192.168.123.xxx den rechner als relay
benuetzten duerfen und zusaetzlich wuerde dei domain irgendwo.at erlaubt.

wichtig ist auch wie mails aussehen die vom lokalen system weggeschickt
werden:

MASQUERADE_AS(blabladomain.at)

wuerde mail die ueber das system weggeschickt werden so umschreiben dass
sie aussehen als ob sie von blabladomain.at kommen wuerden. (mit dem
feature MASQUERADE_DOMAIN koennte man auch andere domains masqueraden)

hat man sendmail mit dem FEATURE(genericstable) konfiguriert so kann man
fuer jeden lokalen usernamen einen anderen namen einstellen der als
absenderaddresse verwendet wird. (das gilt allerdings nur fuer mails die
nicht schon mit einer vollen absenderaddresse weggeschickt wird.) die
einstellung erfolgt i.a. im file /etc/mail/genericstable

wichtiger ist meist das FEATURE(virtusertable). damit bekommt man ein file
namens /etc/mail/virtusertable in den man je nach domainname der
ankommenden mail verschiedene lokale user zuordnen kann:

office@blabladomain.at maxmeier
office@irgendwo.at ahuber
@irgendwoanders.at anna@blechkiste.irgendwo.at

im file /etc/aliases bzw /etc/mail/aliases kann man aliase namen
einstellen die fuer alle domains gelten. also z.b:

max.meier: maxmeier
mm: maxmeier
mmeier: maxmeier

wuerde alias namen fuer maxmeier festlegen.

fuer alle die files access, virtusertable, genericstable, aliases gilt:

sendmail liest die files i.a. nicht direkt sondern ein datenbankfile dass
aus diesen textfiles generiert wird. ruft man im verzeichniss /etc/mail

make

auf so sollten die entsprechenden .db files aktualisiert werden. (man
koennte dies auch handisch mit dem "makemap" programm machen). erst nach
dem makemap oder einem aufruf von

newaliases

(falls sich das alias file geaendert hat) kennt sendmail die neuen
einstellungen.)

weiters wichtig ist das file /etc/mail/mailertable
hier kann man fuer einzelne domains extra mailzustellungsprogramme
eintragen. z.b:

irgendwo.org smtp:[192.168.123.45]
maxprivat.irgendwo.org local:maxmeier
blabladomain.com uucp-dom:uubla

das wuerde besagen dass mails an xyz@irgendwo.org an die interen IP
addresse 192.168.123.45 weitergeleitet werden, wo z.b. ein mailserver
stehen koennte der ansonsten nicht direkt erreichbar ist.

alle mail an xyz@maxprivat.irgendwo.org wuerde lokal in die mailbox von
maxmeier zugestellt. und mail an blabladomain.com wuerde ueber ein, heute
nicht mehr sehr gebraeuchliche, aber fuer dialup verbindungen praktisches
protokoll namens "uucp" zugestellt unter dem uucp namen "uubla".

wir sehen also: sendmail ist ein sehr leistungsfaehiger verteiler von
mail. durch direkte aenderungen im sendmail.cf files koennte man noch
komplexere aufgaben loesen. i.a. kommt man jedoch mit den folgenden features
aus.

* Cw, Fw fuer lokale hostnamen

* relay-domain und access_db zur kontrolle von relaying

* aliases, virtusertable, genericstable fuer aliase, und

* mailertable zur verteilung von mails an ganze domains

EXERCISES:

* sieh dir die mailconfiguration von hosts an auf denen du einen account
hast.

* konfiguriere ein sendmail das zumindest mails fuer eine domain
akzeptiert

_______________________________________________
CD ist ein service von SILVER SERVER
der inhalt unterliegt der GFDL
_______________________________________________



poipoi
Rookie
Beitrag vom:
24-08-2005, 21:07:47

Sendmail vs. Postfix

MTA's sollten heute in Bezug auf einfache Konfigurierbarkeit und Möglichkeiten der Abwehr von Spam verglichen werden. Postfix erscheint mir hier wesentlich einfacher und wirksamer konfigurierbar zu sein.
z.B. die Möglichkeit SPAM schon während des Empfangs abzuweisen, wenn bestimmte Kriterien z.B. regulärer Ausdruck angewendet auf Header zutreffen.
Einbindung von Antiviren und Spamfiltern vor Zustellung der Datei mit Möglichkeit der Rückweisung.

-----------------------------------------------------
gruss andreas


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06246
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1154
Comments: 0