Gelegentlich gibt es auch dem IServ-Schulserver mal Probleme mit dem Mailsystem. Da ist es erst einmal wichtig zu wissen, wo die Dateien liegen. IServ benutzt Cyrus Imap als Mailserver. Diese Software wäre sicherlich nicht meine erste Wahl.
Die Mails für einen Benutzer namens richard.linde liegen unterhalb von /var/spool/cyrus/mail/user/richard^linde/ . In dem Ordner gibt es dann für jede Nachricht eine Datei, deren Name aus einer Nummer und einem abschließenden Punkt besteht. Dann gibt es in dem Ordner und seinen Unterordner noch die Dateien:
- cyrus.cache
- cyrus.header
- cyrus.index
- cyrus.squat
Wenn man diese Dateien löscht, dann funktioniert das Mailsystem nicht mehr richtig. Man kann sie im Bedarfsfall aber neu erzeugen lassen mittels:
su -c "/usr/lib/cyrus/bin/reconstruct -f -r user/richard^linde" cyrus
Dabei entstehen aber nur die ersten drei Dateien.
Die Bedeutung der Dateien ist in https://cyrusimap.org/docs/cyrus-imapd/2.4.9/internal/mailbox-format.php beschrieben.
Für die Weiterleitungen und die Spam-Sortierung wird Sieve benutzt. Die Dateien für den Benutzer findet man in /var/spool/sieve/r/richard^linde/ . Die Datei system.script hat standardmäßig folgenden Inhalt:
require "include"; require "fileinto"; require "vacation";
# include user script include "user";
# file spam into the Junk folder if header :matches "X-Spam-Flag" "YES" { fileinto "INBOX/Junk"; stop; }
Bei einer aktivierten Weiterleitung kommen folgende Zeilen hinzu:
# redirection redirect "richard.line@private-email.de"; keep;
Änderungen an dieser Datei haben aber nur dann einen Effekt, wenn sie anschließend in die binäre Darstellung system.bc übertragen werden.
Für Änderungen habe ich unter https://lists.andrew.cmu.edu/pipermail/info-cyrus/2006-March/021151.html gefunden:
- ermittle das Verzeichnis für die Sieve-Scripte: /var/spool/sieve/<1.Buchstabe>/<Benutzername> - mkdir -p wenn das Verzeichnis nicht existiert - Kopiere das Benutzerscript in dieses Verzeichnis (eg: user.script) - sievec user.script user.bc - ln -s user.bc defaultbc - (wenn root) setze die Eigentumsverhältnisse auf cyrus.mail