Und wieder wird ein Mailserver umgezogen

Ist es mein Karma, dass ich immer wieder zum Übersiedeln von Mailservern hinzugezogen werde? Ist es Schicksal oder ist es schlichtweg die Tatsache, dass kein anderer Dummer in der Nähe ist, der den Job übernehmen könnte?

Wie dem auch sei, ich kam wieder mal zum Handkuss und warf das alte Programm ‚imapsync‘ ins Rennen, welches mir mit folgendem Fehler etwa 90% der Nachrichten übersprang:

flags from : [\Seen NonJunk][„02-Feb-2009 13:00:30 -0400“]
Error trying to append string: 58 NO APPEND Invalid flag list

Die Fehlermeldung an sich ist ja nicht das Problem, da man sich an solche Dinge mit der Zeit ja gewöhnt – es sind nur die fehlenden Nachrichten, die dann diverse Benutzer zum Telefon greifen lassen. Also sehen wir uns einmal die Meldung an und versuchen daraus schlau zu werden.

IMAP heißt, wir halten alle Nachrichten auf dem Server und gleichen sie nur mit den Clients ab. Das heißt auch, dass wir die Nachrichten auf allen Clients gleich haben wollen. Einmal gelesen, überall gelesen. Und genau das macht man mit Messageflags, welche laut RFC mit einem \ beginnen.

Doch da die RFC in der Realität nur Wunschdenken ist, pfeifen viele Hersteller von Mailservern drauf, wie diese Fehlermeldung offenbart. Jemand hat ein Flag namens ‚NonJunk‘ eingeführt und es nicht mit einem Backslash beginnen lassen. Um die Nachrichten dennoch korrekt transferieren zu können, beschließe ich das Flag einfach zu missachten – genauso wie die Jungs die RFC. Also ran an die Regex und den entsprechenden Parameter für imapsync:

–regexflag ’s/NonJunk//g‘

Jetzt laufen die Synchronisationen durch. Komisch, auf was man so alles kommt, wenn man Server administriert, oder?

Author:

2 thoughts on “Und wieder wird ein Mailserver umgezogen”

  • Dich schickt der Himmel!!

    Der kleine Tipp hat mir hier gerade den Tag gerettet und mein Problem vom Wochenende gelöst. Was macht man aber, wenn zuviele Flags spinnen?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.