Zum Inhalt springen

Helpdesk-Postfach: aus jeder Mail genau ein Request

Version 0.8.04 Min. Lesezeit

In vielen Firmen beginnt Supportarbeit in einem Postfach. Jemand schreibt an die Helpdesk-Adresse, und bevor überhaupt etwas passiert, muss ein Mensch die Mail lesen, abtippen und die Anhänge von Hand an einen Vorgang hängen. Diesen Schritt übernimmt jetzt GODAV Pro. Ein Administrator richtet ein Abrufprofil ein, also ein Postfach und das Projekt, in das es schreiben soll, und der Server holt in festen Abständen neue Mails ab. Daraus wird jeweils ein Request: Der Betreff wird zum Titel, der Text zur Beschreibung, die Anhänge kommen mit.

Ein paar Grundregeln vorweg: Es entsteht immer ein Request, das Postfach wird nur gelesen, ein Stichtag ist Pflicht. Hier geht es darum, wie der Abruf zuverlässig wird.

Ein Request im Projekt IT-Helpdesk, dessen Beschreibung mit dem zitierten Kopf der Mail beginnt Ein Request aus einer Mail. Oben steht der zitierte Kopf mit Absender und Eingangszeit. Absender und Name sind hier unkenntlich gemacht.

Erst reservieren, dann verarbeiten

Eine Mail zu übernehmen sind mehrere Schritte: den Vorgang anlegen, die Anhänge ablegen, die Beteiligten eintragen. Stürzt der Server mittendrin ab, gibt es zwei mögliche Fehler. Entweder entsteht die Mail beim nächsten Lauf ein zweites Mal, oder sie gilt als erledigt und ist verloren.

Deshalb schreibt der Abruf für jede Mail zuerst eine Zeile ins Protokoll und arbeitet erst danach. Diese Zeile hat drei Zustände: reserviert, erledigt oder abgelehnt. Bleibt eine Zeile auf „reserviert” stehen, weil ein Lauf abgebrochen ist, nimmt der nächste Lauf sie wieder auf, und zwar vor allen neuen Mails. Ich hätte auch eine einfache Liste „schon gesehen” führen können. Die könnte aber einen Fehlschlag nicht von „noch nicht abgerufen” unterscheiden, und die Mail käme dann entweder bei jedem Lauf neu oder nie wieder.

Wichtig ist dabei, warum etwas schiefgeht. Eine fachliche Ablehnung, etwa ein fehlendes Recht oder ein gelöschtes Zielprojekt, ist endgültig. Sie bei jedem Lauf zu wiederholen hieße, denselben Fehler bei jedem Lauf neu zu machen. Ein technischer Ausfall dagegen, zum Beispiel eine kurz nicht erreichbare Datenbank, beendet nur den aktuellen Lauf. „Gerade nicht” ist eben nicht dasselbe wie „grundsätzlich nicht”.

Woran erkennt der Abruf eine Mail wieder? An zwei Merkmalen: an der Kennung, die das Postfach selbst vergibt, und zusätzlich an der Nachrichtenkennung im Mailkopf. Die zweite allein reicht nicht, denn sie ist nur empfohlen und nicht vorgeschrieben, und Weiterleitungen geben sie unverändert weiter.

Das Laufprotokoll eines Abrufprofils mit Zeitpunkt, Mails im Ordner, gesehenen, angelegten und abgelehnten Nachrichten Je Lauf eine Zeile: wie viele Mails im Ordner liegen, wie viele ab dem Stichtag gesehen wurden und was daraus wurde. Die Angaben zum Profil sind verpixelt.

Aus Outlook-HTML wird lesbarer Text

Am Anfang landete nur der reine Textteil einer Mail im Vorgang. Formatierungen, Verweise und Bilder stehen aber nur im HTML-Teil. Das HTML zu übernehmen war trotzdem der aufwendigste Teil, weil Mail-HTML ein Sonderfall ist: Outlook verschachtelt Layouttabellen, hängt eigene Marken an und schließt nicht alles wieder.

Die Umwandlung läuft deshalb in zwei Schritten. Zuerst wird das HTML gesäubert, nur eine feste Liste erlaubter Elemente bleibt stehen. Danach wird der Rest in Markdown übersetzt, das Format, in dem GODAV Beschreibungen speichert. Nur zu übersetzen hätte nicht gereicht, denn ein Übersetzer ist kein Schutz und reicht durch, was er nicht kennt. Nur zu säubern hätte auch nicht gereicht, dann stünde gesäubertes HTML als Rohtext im Vorgang.

Die Übersetzung richtet sich nach dem, was die Anzeige in GODAV kann. Tabellen werden zu Zeilen, verschachtelte Listen werden flach, und Stylesheets aus Newsletter-Mails verschwinden samt Inhalt.

Wer darf überhaupt schreiben?

Je Profil lässt sich festlegen, von welchen Absenderdomänen Mails übernommen werden. Leer heißt: alle. Ich habe mich für eine Liste erlaubter Domänen entschieden und nicht für eine Sperrliste, weil eine Sperrliste nur gegen Absender hilft, die man schon kennt.

Der untere Teil eines Abrufprofils mit Ordner, Abrufabstand, Mindestgröße für Anhänge, zugelassenen Domänen, weiteren Adressen und Stichtag Einstellungen eines Abrufprofils. Domänen und Adressen sind verpixelt.

Verglichen wird die Domäne vom Ende her, damit auch Mails aus Unterdomänen eines Konzerns durchkommen. Der Punkt davor ist dabei entscheidend, sonst ließe eine freigegebene Domäne auch jede durch, die nur auf dieselben Buchstaben endet. Abgelehnte Mails verschwinden nicht still, sondern stehen mit Grund im Protokoll. Das ist der Unterschied zwischen einem Filter und einem Datenverlust.

Außerdem

  • Zwei Wege ins Postfach: IMAP und Microsoft 365. Für Microsoft 365 nutze ich die Schnittstelle von Microsoft selbst und nicht IMAP mit Microsoft-Anmeldung, weil diese Einrichtung beim Kunden erfahrungsgemäß oft scheitert.
  • Der Absender wird nicht automatisch zugewiesen. Wer eine Mail schreibt, meldet ein Anliegen, er hat nicht um Arbeit gebeten.

Was noch fehlt, ist der Rückweg: Antworten auf eine Mail als Kommentar am selben Request. Damit würde GODAV Pro zu einem Ticketsystem mit Mailverkehr, und das ist ein eigenes Vorhaben.

  • Helpdesk
  • Mail
  • Requests