In diesem Abschnitt werde ich die
Konfigurationsdateien, gegliedert nach den Programmen zu denen sie
gehören, vorstellen. Verschiedene Dateien dürfen keine
Kommentare oder unnötigen Zeilen enthalten. D.h. der
Eintrag muss sich in der ersten Zeile befinden. Auf diese Dateien werde
ich hinweisen. Nach Änderungen an den Dateien muss qmail meistens neu gestartet werden. Auf kleineren Mailservern
können meist die Defaultwerte
beibehalten (d.h. keine Datei vorhanden) werden.
3.2.3 qmail-send
qmail-send steuert die
Auslieferung der Nachrichten, die in der Warteschlange stehen und
benutzt hierzu
qmail-rspawn oder
qmail-lspawn.
Konfigurationsdateien:
bouncefrom
(einzeilig!): Hier
wird der Benutzername eingetragen, der im From-Feld einer
Bounce-Nachricht
(Unzustellbar) stehen soll.
bouncehost
(einzeilig!) Default me:
Hier wird der Hostname
eingetragen, der im From-Feld einer Bounce-Nachricht stehen soll.
concurrencylocal (einzeilig!) Default 10: Hiermit wird die
Anzahl gleichzeitiger lokaler SMTP-Auslieferungen
angegeben. Es wird einfach nur die gewünschte Zahl (im Beispiel 20) eingetragen.
concurrencyremote
(einzeilig!) Default 20:
Diese Datei gibt die Anzahl gleichzeitiger externer Auslieferungen an. Es wird
einfach nur die gewünschte Zahl (im Beispiel 30) eingetragen.
doublebouncehost (einzeilig!) Default me: der Hostname des
Rechners an den absolute unzustellbare Nachrichten (Empfänger und
Sender falsch) gesendet werden. Die
Adresse setzt sich wie folgt zusammen: doublebounceto@doublebouncehost
postbote.heimnetz
doublebounceto (einzeilig!) Default postmaster: der User an
den unzustellbare Bounce-Nachrichten gesendet werden. Die Adresse setzt
sich wie folgt zusammen: doublebounceto@doublebouncehost
dirk
envnoathost
(einzeilig!) Default me: Enthält den Domänennamen für
Empfängeradressen wenn die Mail keinen enthält (bzw. kein
@-Zeichen).
64-bit.de
locals
Default me: Hier kann man
Domännamen
angeben, die auf diesem System
lokal ausgeliefert
werden können. Diese Domänen sollten auch in
rcpthosts eingetragen werden.
localhost
mail.64-bit.de
postbote.heimnetz
queuelifetime
Default 604800 Sekunden = 1 Woche: In
dieser Datei kann man die maximale Dauer einstellen, in der versucht
wird eine Nachricht zu senden. Wenn diese Zeit abgelaufen ist und die
Mail sich noch in der Warteschlange befinden, wird sie als Unzustellbar
gekennzeichnet und zurückgesendet. Auf privaten Systemen reicht
eigentlich 1 Tag (24h x 60min x 60s = 86400s)
86400
virtualdomains: hier
können virtuelle Domänen angegeben werden.
:alias-extern
3.2.4 qmail-remote
Dieses Programm dient dazu entfernte
Mails an den entsprechenden Mailserver zu liefern. Bei einem
Internet-Mailserver liefert dieser die externen Mails sofort an den
entsprechenden Empfänger.
Aufruf:
qmail-remote ZIELHOST ABSENDER EMPFÄNGER [EMPFÄNGER]
Nach dem manuellen Aufruf, kann man den Text eingeben. Mit STRG + D
wird die Eingabe beendet und die Mail versendet.
Konfigurationsdateien:
helohost
(einzeilig!) Default me: Hier gibt man den Hostnamen an, den der Befehl HELO
beim Ausliefern von Mails benutzt .
mail.64-bit.de
OFFEN smtproutes:
Hier können eigene Routen für SMTP-Transfer festgelegt
werden. DNS-Angaben werden hierdurch ignoriert. Man kann dadurch
erreichen, dass Nachrichten an eine bestimmte Domäne ohne
DNS-Abfrage ausgeliefert werden.
64-bit.de:extern.64-bit.de
timeoutconnect
(einzeilig!)
Default 60 Sekunden: Setzt die Dauer in Sekunden, die gewartet
wird bis eine SMTP-Verbindung zu einem entfernten Server aufgebaut ist.
30
timeoutremote
(einzeilig!) Default 1200 Sekunden (= 20 Minuten): Setzt
die Dauer in Sekunden, die auf eine Antwort gewartet wird, wenn ein
Befehl zu einem entfernten Server gesendet wurde (die Verbindung ist
hierbei schon aufgebaut)
300
3.3 Einrichten als Mail Transfer Agent (MTA)
In den vorherigen Kapiteln habe ich die Programme und
Konfigurationsdateien von
qmail
vorgestellt. Nun geht es darum
qmail
als Mailverteiler (MTA) einzurichten. Die unter 3.2 aufgeführten
Konfigurationsdateien müssen nicht
alle vorhanden sein bzw. benutzt werden.
Beim Versenden von Emails werden diese normalerweise von einem
Mailprogramm (Mail User Agent - MUA) an den MTA übergeben. Dieser
leitet die nachricht dann normalerweise, nach einer
Namenauflösung, an den entsprechenden Mailserver des
Empfängers weiter. Wenn der Versender eine dynamische IP-Nummer
hat wird die Mail jedoch häufig abgelehnt. In diesem Fall
müssen alle Mails über den Provider versendet werden.
3.3.1 Konfiguration
Bei der Installation wurden bereits durch das Script
config (bzw.
config-fast) verschiedene
Konfigurationsdateien unter
/var/qmail/control
erstellt (siehe
2.1.1).
Die wichtigste Einstellung die nun vorzunehmen ist, ist
welches Mailboxformat benutzt werden soll. Es stehen Drei zur
Verfügung. Hier eine Kurzbeschreibung (weitere Hinweise findet man
im
doc-Verzeichnis von
qmail):
- Mailbox: unter /var/spool/mail; Traditionelles
Unix-Format. Alle Mails sind in einer Datei
- Mailbox: wie 1. nur das
die Datei im Homeverzeichnis des Benutzers liegt
- Maildir: im
Homeverzeichnis des Benutzers gibt es drei Verzeichnisse: new, cur und tmp; die Mails werden alle
einzeln gespeichert
Ich benutze das neuere
Maildir-Format.
Eingestellt wird dies in der Datei
defaultdelivery:
# Uncomment the next line for .forward support
#|dot-forward .forward
./.maildir/
Danach muss noch die Anzahl der maximalen Verbindungen für
tcpserver (aus dem Paket
ucspi-tcp) festgelegt werden:
echo 20 > /var/qmail/control/concurrencyincoming
Um Mails überhaupt zu versenden müssen diese ja von Clients
geliefert werden. Standardmäßig ist der Empfang aus
Sicherheitsgründen deaktiviert. Um bestimmten Rechnern oder
Netzwerken das Versenden zu erlauben wird die Datei
/etc/tcp.smtp benötigt.
Hier ein Beispiel:
# Mails vom lokalen Host
127.:allow,RELAYCLIENT=""
# Netzwerkadresse 192.168.0.0/24 freigeben
192.168.0.:allow,RELAYCLIENT=""
Nach Änderungen oder Erstellen muss sie konvertiert werden:
Bei Systemen mit fester IP und DNS-Eintrag reichen diese Einstellungen
bereits aus.
3.3.2 qmail
als Einwahl-Client
Wer
qmail mit einer festen
IP-Nummer und DNS-Auflösung einrichtet, kann diesen Abschnitt
überspringen und bei
3.3.3 weitermachen.
Standardmäßig versendet
qmail
externe Nachrichten sofort an den entprechenden Mailempfänger
weiter. Wenn der Mailserver die Mails jedoch
relayen und nur zu bestimmten
Zeiten über einen
Smart-Host
senden soll, muss man ein wenig tricksen. Es müssen alle externen
Mails über eine virtuelle Domäne an einen Alias gesendet
werden. Dort werden die Mails im
Maildir-Verzeichnis
gespeichert. Diese können dann mit dem Befehl
maildirsmtp über einen
weiteren MTA versendet werden.
In der Datei
/var/qmail/control/virtualdomains
wird mit dem folgenden Eintrag eine virtuelle Domäne
erstellt:
Dann wird der Alias
/var/qmail/alias/.qmail-outgoing-default
mit folgendem Inhalt erstellt:
Da es dieses
Maildir-Verzeichnis
noch nicht gibt muss es noch mit
maildirmake
/var/qmail/spool und mit
chmod
-r alias /var/qmail/spool erstellt werden.
Die Mails werden nun in diesem Spool-Verzeichnis gesammelt und
müssen per Befehl versendet werden (siehe
3.3.4)
3.3.3 qmail
starten
Da
qmail von den
daemontools gestartet wird
müssen noch ein paar Anpassungen vorgenommen werden. Zunächst
muss ein
supervise-Verzeichnis angelegt
werden, indem
run-Scripte zum
Starten der Dämonen enthalten sind. Das komplette Verzeichnis
findet man
hier als Tar-Archiv. Einfach
unter
/var/qmail
entpacken. Danach muss man noch sicherstellen, dass
qmail in Logbücher schreiben
kann:
mkdir -p /var/log/qmail/smtpd
chown qmaill /var/log/qmail /var/log/qmail/smtpd
Gestartet wird
qmail ja wie
bereits erwähnt durch die
daemontools.
Dies wird dadurch erreicht, dass die Unterverzeichnisse im
supervise-Verzeichnis nach /service
gelinkt werden:
ln -s /var/qmail/supervise/qmail-send /service
ln -s /var/qmail/supervise/qmail-smtpd /service
3.3.4 Mails versenden
Wer
qmail als Einwahl-Client
eingerichtet hat muss nun dafür sorgen, dass die Nachrichten im
Spooler auch versendet werden. Dies kann beim Einwählen oder per
Cronjob erfolgen. Notwendig ist folgende Befehlszeile:
setlock /var/lock/externspool maildirsmtp /var/qmail/spool alias-extern mail.64-bit.de vmserver
Anm.: oft
ist es notwendig, dass man sich vor
dem Versenden der Mails per POP3-Anmeldung authentifiziert (siehe fetchmail).