Exim4 als SMTP-Server (Debian)

Aus MattWiki

Exim ist der Standard Mail Transfer Agent (MTA) von Debian.

Standardmäßig werden Mails an das lokale Postfach in /var/mail/account_name geschickt.

Installation

# apt-get install exim4

Zustellung per SMTP an externe Mail einrichten

# dpkg-reconfigure exim4-config

Werte können folgendermaßen gefüllt werden:

Einstellung Beispielwerte
Generelle E-Mail-Einstellungen Versand über Sendezentrale (Smarthost); Empfang über SMTP oder Fetchmail oder

Versand über Sendezentrale (Smarthost); Keine lokale E-Mail-Zustellung

E-Mail-Name des Systems mail.domain.tld
IP-Adressen, an denen eingehende SMTP-Verbindungen erwartet werden 127.0.0.1;::1;192.168.178.39
Weitere Ziele, für die die E-Mails angenommen werden sollen Feld leer lassen. -> Optional hier die Maildomäne eingeben?
Rechner, für die E-Mails weitergeleitet werden (Relay) 192.168.178.0/24
IP-Adresse oder Rechnername der Sendezentrale für ausgehende E-Mails smtp.gmail.com
Lokalen E-Mail-Namen in ausgehenden E-Mails verbergen Nein
Versandart bei lokaler E-Mail-Zustellung Maildir-Format im Home-Verzeichnis
Einstellungen auf kleine Dateien aufteilen (Splitkonfiguration) Nein

Wenn Einstellungen nicht auf kleine Dateien aufgeteilt werden, werden die Einstellungen aus /etc/exim4/*.conf -Dateien verwendet.

Passwörter für SMTP-authentifizierung eingeben in:

nano /etc/exim4/passwd.client

Format für Passwörter

<smarthostserver>:<username_für_anmeldung>:<passwort>

TLS für SMTP aktivieren

Dateien anlegen:

Ohne Split-Konfiguration: /etc/exim4/exim4.conf.localmacros

Bei Split-Konfiguration: /etc/exim4/conf.d/main/000_localmacros

Inhalt:

MAIN_TLS_ENABLE = yes        (alternativ "= true" verwenden?)

Datei /etc/default/exim4 bearbeiten und Zeile hinzufügen:

SMTPLISTENEROPTIONS='-oX 25:587 -oP /var/run/exim4/exim.pid'

Danach Server neu starten:

/etc/init.d/exim4 restart

Authentifizierung für SMTP einrichten

Am einfachsten, wenn auch nicht am sichersten, ist es, die Passwörter des Systems zu nutzen. Dies nennt sich "Shadow Authentifizierung". Diese kann am einfachsten mit dem SASL-Dienst genutzt werden.

Installation:

apt-get install sasl2-bin

Konfiguration von SASL in der Datei /etc/default/saslauthd anpassen:

START=yes
MECHANISMS="shadow"

Anschließend SASL Daemon neu starten:

/etc/init.d/saslauthd restart

Fehlerbehandlung

Wenn beim Status von /etc/init.d/exim4 eine Fehlermeldung erscheint, dass paniclog besteht: Paniclog einfach löschen: /var/log/exim4/paniclog

Mailweiterleitung (Systemintern)

Die systeminterne Mailweiterleitung wird in /etc/aliases konfiguriert.

Mails an root werden standardmäßig an den User weiter geleitet, der während der Systeminstallation eingerichtet wurde.

Systemmailbox anlegen

Falls in /var/mail/<USER> keine Mailbox für den gewünschten User besteht, kann diese folgendermaßen angelegt werden:

# cd /var/mail
# touch user
# chown user:mail user
# chmod 660 user

Befehle für Test- und Diagnosezwecke

Versenden von Testmails

E-Mails werden an den MTA gesendet. Abhängig von der Einrichtung werden diese entweder an /var/mail/xxx oder an ~/Maildir zugestellt.

Beispiel 1

mail -s <subject> <recipient>

Beispiel 2

echo This is a Text body | mail -s <subject> <recipient>

Beispiel 3

(echo Subject: NewSubject; echo Body Line 1; echo) | /usr/sbin/sendmail -i <USERNAME>

Steuerung von Exim und Message Queue

mailq                # Messagequeue / Frozen messages anzeigen
mailq | exiqsumm     # Übersichtstabelle über Messagequeue anzeigen

exim4 -bp            # Messagequeue / Frozen messages anzeigen
exim4 -bpc           # Anzahl Nachrichten in Messagequeue
exim4 -ql            # Nachrichten, die Serverintern ausgeliefert werden sollen
exim4 -v -M [MsgID]  # Anzeige, warum Nachricht MsgID nicht verschickt wurde
exim4 -q             # Messagequeue abarbeiten und Mails verwenden
exim4 -qff -v        # Messagequeue inkl Frozen Mails abarbeiten und Mails verwenden (verbose mode)
exim4 -Mt [MsgID]    # Frozen Mails aus Queue verschicken
exim4 -Mrm [MsgID]   # Einzelne Mail aus Queue löschen
exim -bp | exiqgrep -i | xargs exim -Mrm     # Alle Mails aus Queue löschen