Sortieren und Verschieben von Mails in intelligente Kategorien oder Ordner per KI-Klassifikation

Warum das nĂŒtzlich ist

Weil Du tÀglich zu viele Mails bekommst.
Und weil die Betreffzeile oft nicht reicht, um sie sinnvoll zuzuordnen.

Mit GPT oder einem Klassifikationsmodell kannst Du Mails automatisch einem Thema zuordnen.
„Vertrieb“, „Support“, „Rechnung“, „Projekt XY“ – oder was Du brauchst.
Und sie direkt in den passenden Ordner verschieben.
Ohne manuelles Sortieren.
Ohne Regeln, die nie passen.

Ziel

Beispiel:

E-Mail kommt mit Betreff „RĂŒckfrage zur Lieferung MĂŒller“
GPT → Kategorie: „Support“
→ Verschoben nach: \Posteingang\Support

Was Du brauchst

  • Outlook Classic mit VBA
  • OpenAI API-Key oder Hugging Face Endpunkt
  • Ordnerstruktur in Outlook
  • Kategorieliste oder Mapping

Schritt 1: Mailtext holen

Function HoleMailinhalt(mail As Outlook.MailItem) As String
    HoleMailinhalt = "Betreff: " & mail.Subject & vbCrLf & _
                     "Absender: " & mail.SenderEmailAddress & vbCrLf & _
                     mail.Body
End Function

Schritt 2: GPT-Kategorisierung

Function GPT_Kategorisiere(text As String) As String
    Dim http As Object
    Dim apiKey As String
    Dim prompt As String
    Dim json As String

    apiKey = "DEIN_API_KEY"

    prompt = "Lies folgenden E-Mail-Inhalt und ordne ihn einer der folgenden Kategorien zu: " & _
             "Vertrieb, Support, Rechnung, Projekt XY, Allgemein. Antworte nur mit der Kategorie." & vbCrLf & text

    json = "{" & _
        """model"": ""gpt-4""," & _
        """messages"":[{""role"":""user"",""content"":""" & Replace(prompt, """", "\""") & """}]" & _
    "}"

    Set http = CreateObject("MSXML2.ServerXMLHTTP")
    http.Open "POST", "https://api.openai.com/v1/chat/completions", False
    http.setRequestHeader "Authorization", "Bearer " & apiKey
    http.setRequestHeader "Content-Type", "application/json"
    http.Send json

    GPT_Kategorisiere = ParseAntwort(http.responseText)
End Function
Function ParseAntwort(json As String) As String
    Dim sc As Object
    Set sc = CreateObject("ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "function parse(j){return JSON.parse(j).choices[0].message.content.trim();}"
    ParseAntwort = sc.Run("parse", json)
End Function

Schritt 3: Ordner zuweisen

Function FindeZielordner(kategorie As String) As Outlook.Folder
    Dim ns As Outlook.NameSpace
    Set ns = Application.GetNamespace("MAPI")

    Select Case kategorie
        Case "Vertrieb"
            Set FindeZielordner = ns.Folders("Postfach – MeinName").Folders("Posteingang").Folders("Vertrieb")
        Case "Support"
            Set FindeZielordner = ns.Folders("Postfach – MeinName").Folders("Posteingang").Folders("Support")
        Case "Rechnung"
            Set FindeZielordner = ns.Folders("Postfach – MeinName").Folders("Posteingang").Folders("Rechnungen")
        Case "Projekt XY"
            Set FindeZielordner = ns.Folders("Postfach – MeinName").Folders("Projekte").Folders("XY")
        Case Else
            Set FindeZielordner = ns.Folders("Postfach – MeinName").Folders("Posteingang").Folders("Allgemein")
    End Select
End Function

Schritt 4: Mail verschieben

Sub KI_MailSortieren()
    Dim mail As Outlook.MailItem
    Set mail = Application.ActiveExplorer.Selection(1)

    Dim inhalt As String
    inhalt = HoleMailinhalt(mail)

    Dim kategorie As String
    kategorie = GPT_Kategorisiere(inhalt)

    Dim ziel As Outlook.Folder
    Set ziel = FindeZielordner(kategorie)

    mail.Move ziel

    MsgBox "Mail verschoben nach: " & ziel.Name & vbCrLf & "Erkannte Kategorie: " & kategorie
End Sub

Was Du damit machen kannst

Eingehende MailZielordner
„Angebot fĂŒr neuen Kunden“Vertrieb
„Reklamation zu Bestellung 2024-33“Support
„Rechnung fĂŒr MĂ€rz“Rechnungen
„Projektplan fĂŒr Releasephase“Projekt XY
„Kopie: Einladung zur Messe“Allgemein

Was Du beachten musst

  • GPT kategorisiert zuverlĂ€ssig bei klarem Inhalt
  • Du kannst Kategorien dynamisch an GPT ĂŒbergeben
  • Mails im HTML-Format ggf. vorher in Klartext umwandeln
  • Achte auf SonderfĂ€lle wie Leermails, Signaturen, Systemnachrichten

Erweiterungen

  • Klassifikation auch in Kategorien (Farben) statt Ordnern
  • Protokollierung der Verschiebung (Logfile oder Excel)
  • Batch-Verarbeitung mehrerer Mails
  • GPT-Antwort auch als Kommentar zur Mail speichern

„Outlook sortiert nach Regeln – GPT sortiert nach Sinn.“

Wenn Du Ordnung im Posteingang willst, aber keine Lust auf manuelle Regeln hast –
ich bau Dir die KI-Sortierung direkt in Outlook ein.
Nachdenken inklusive.

Keine Antworten

Schreibe einen Kommentar

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