Dovecot, IMAP und das Mail-Datum

IMAP zeigt Mails mit einem Datum weit in der Zukunft an

Nachdem Google mit Lollipop die E-Mail-App entfernt hat, und nun mein IMAP-Konto mit der GMail-App anzeigt, habe ich mich entschlossen, Blue Mail eine Chance zu geben.

Dabei habe ich festgestellt, dass viele meiner (uralten) Mails mit dem Datum 01.01.2021 angezeigt werden. Vermutlich ist hier bei der Umwandlung meiner alten Thunderbird-Maildatenbank in das Maildir-Format etwas nicht ganz erfolgreich gelaufen. In Thunderbird habe ich das fehlerhafte Datum aber nicht. Deswegen ist es mir bisher nicht aufgefallen.

Die Internet Recherche hat mich aber ziemlich schnell auf die richtige Fährte gebracht. Dovecot verwendet mtime, um zu erkennen, ob es neue Mails gibt, bzw. wann die Mails empfangen wurden. Das war bei den uralten Mails aber nicht bzw. falsch gesetzt. Ich habe dann versucht, eine der Mails mittels “touch” die richtige mtime zu geben (anhand des Date-Headers der Mail).

Leider hat das nicht geholfen, weil Dovecot die Daten alle im Index/Cache speichert. Dieser kann aber gelöscht und neu angelegt werden. Dann funkitoniert die Anzeige des Maildatums korrekt.

Ich habe dann einen Blogbeitrag mit einem Script gefunden, welches den Date-Header der Mails auswertet und die Maildatei entsprechend mit touch korrigiert.

Das Script kann einfach mit

~ $ fix_imap_time_for_apple_mail_app.sh ~/Maildir

gestartet werden.

Nun müssen die alten index/cache-Dateien von Dovecot gelöscht werden:

~ $ find ~/Maildir -type f -name ‘dovecot.index*’ -exec rm {} \;

und anschließend wieder erstellt werden:

~ $ cd ~/Maildir
~/Maildir $ doveadm -v index -u <username> '*'

Jetzt werden die Mails auch in Blue Mail mit dem korrekten Eingangsdatum angezeigt.

This entry was posted in Linux, Software. Bookmark the permalink.