Exim4 als SMTP-Server (Debian)
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