snom5329
Goto Top

Outlook Mails automatisch auf Inhalt prüfen und kategorisieren

Hallo,
Ich möchte wie im Titel beschrieben Mails automatisch kategorisieren. Da ich kein Programmierer bin, bin ich mir nicht sicher, ob dies überhaupt mit Vba möglich ist.
Bevor ich nun damit anfange möchte ich wissen, was ich dazu benötige. Außerdem ist mir noch unklar wie ich Kategorien in Outlook z. B. mit VBA überhaupt anspreche.

Danke für jede Antwort

Cheers
Peter

Content-ID: 222009

Url: https://administrator.de/contentid/222009

Ausgedruckt am: 22.11.2024 um 07:11 Uhr

spinnifex
spinnifex 14.11.2013 um 22:29:30 Uhr
Goto Top
Hallo Peter,

für die Sortierung von E-Mails anhand einzelner Stichwörter z.B. in der Betreff-Zeile benötigst Du keine Programmierkenntnisse, sondern lediglich ein bisschen Know How im aktuellen Outlook (z.B. v2010). Dort kannst Du Regeln erstellen, die Mails | nach Abesnder | nach Stichwort in der Betreffzeile | nach TLD beim Absender usw. in von Dir vorher eingerichtete Ordner sortieren.

Kleines Beispiel: Alle Mails von administrator.de, die mir sagen wollen, dass auf einen meiner Beiträge hier geantwortet wurde, landen automatisch im Ordner admin.de, alle Mails, in deren Betreffzeile Blutwurst erscheint, im Ordner Schlachtplatte. face-wink Schnellster Zugang dazu ist ein Rechtsklick auf eine zu sortierende Mail > Regeln ...

Andere Mail-Programme haben ähnliche Funktionen, falls Du mit MS-Alternativen arbeiten magst.

Schöne Grüße!
Snom5329
Snom5329 14.11.2013 um 23:29:12 Uhr
Goto Top
Hi, ich hatte mich in meiner Fragestellung falsch ausgedrückt. Ich möchte diese Funktionen auf mehreren Rechnern ermöglichen und es sollten keinerlei Einstellungen in Outlook geändert werden. Deshalb möchte ich ein Programm schreiben das nur Mails nach bestimmten Werten kontrolliert und farbig markiert.

Danke für die Antwort zu später Stunde.
spinnifex
spinnifex 15.11.2013 um 00:12:14 Uhr
Goto Top
Hallo Peter,

vielleicht solltest Du dann noch ein paar mehr Informationen über Dein Setup liefern: Wer oder was verteilt die Mails an Deine Clients, sind Gruppenrichtlinien eine Möglichkeit und warum sind Anpassungen imindividuellen Outlook ausgeschlossen? Mach es uns einfacher, Dir zu helfen ...

Schöne Grüße!
colinardo
colinardo 15.11.2013, aktualisiert am 28.09.2014 um 09:01:36 Uhr
Goto Top
Hallo Snom5329,
und es sollten keinerlei Einstellungen in Outlook geändert werden.
Wenn du aber etwas via VBA programmieren willst, musst du ja den Quelltext in Outlook einbinden, und das ist ja quasi auch eine Anpassung.

Die Realisierung mit VBA ist eigentlich ziemlich einfach, bis auf ein Issue mit IMAP-Konten.
Vorgehensweise:
  • Im NewMailEx-Event auf neue Mails checken
  • den Inhalt bzw. Body jeder Mail mit einem RegEx-Objekt auf deinen Content hin untersuchen
  • je nach Match mit unterschiedlicher Kategorie versehen.

Es gibt jedoch ein Problem wenn das ganze mit IMAP-Konten gemacht wird (s.u.) und man den Body untersuchen möchte.

back-to-topBeispiel: Weist eingehenden Mails die Kategorie "Disney" zu wenn im Body der Text "Bugs Bunny" vorhanden ist
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim varEntryIDs
    Dim objItem As Object, strBody As String
    Dim i As Integer
    varEntryIDs = Split(EntryIDCollection, ",")  
    Set regex = CreateObject("vbscript.regexp")  
    regex.IgnoreCase = True
    For i = 0 To UBound(varEntryIDs)
        Set objItem = Application.Session.GetItemFromID(varEntryIDs(i))
        If objItem.Class = olMail Then
            Select Case objItem.BodyFormat
                Case olFormatHTML
                    strBody = objItem.HTMLBody
                Case olFormatRichText
                    strBody = objItem.RTFBody
                Case Else
                    strBody = objItem.Body
            End Select
            regex.pattern = "Bugs Bunny"  
            If regex.Test(strBody) Then
                ' Successful match  
                objItem.Categories = "Disney"  
                objItem.Save
            Else
                ' Match attempt failed  
            End If
        End If
    Next
    Set regex = Nothing
End Sub
Das Problem kommt aber dann, wenn du das ganze mit IMAP-Konten machen willst. Hier kommt es in Outlook dazu das die Nachrichten je nach IMAP-Server noch nicht ganz heruntergeladen wurden, bzw. nur die Header, so dass der Inhalt des Bodys der Mail im NewMailEx Event noch nicht verfügbar, bzw. leer ist und so natürlich keine Kategorisierung stattfinden kann.

Grüße Uwe
Snom5329
Snom5329 15.11.2013 um 22:23:00 Uhr
Goto Top
@ colinardo Die Mails werden über einen Exchange Server verteilt. Ich möchte die die unterschiedlichen Mails (Betreff und Inhalt) in einer seperaten Datei verwalten) Damit ich jederzeit ohne direkt im Code eingreifen zu müssen. Warum ich das möchte.....wie gesagt wollte mich mal Busserl weiterbilden face-smile.

@uwe Super danke, mir ist nur nicht klar woher du weißt das du Bspw. mit objitem.categorie auch wirklich die Kategorien in Outlook ansprichst. Woher kann ich so eine Übersicht bekommen.

Danke nochmal, werde am Wochenende mich mal an das Grundgerüst machen.
colinardo
colinardo 16.11.2013 aktualisiert um 09:29:04 Uhr
Goto Top
Zitat von @Snom5329:

@ colinardo Die Mails werden über einen Exchange Server verteilt.
Ich möchte die die unterschiedlichen Mails (Betreff und Inhalt) in einer seperaten Datei verwalten) Damit ich jederzeit ohne direkt im Code eingreifen zu müssen.
Steht dir ja frei, auch das ist kein Hexenwerk ob einfache Textdatei, XML-Datei, oder Access-Datenbank als Quelle, alles machbar.
@uwe Super danke, mir ist nur nicht klar woher du weißt das du Bspw. mit objitem.categorie auch wirklich die Kategorien in Outlook ansprichst. Woher kann ich so eine Übersicht bekommen.
Den Outlook VBA Editor öffnen und dort F1 drücken, im Hilfe-Dialog kannst du die verfügbaren Outlook-Objekte mit deren Eigenschaften und Methoden nachschlagen. Alternativ übers Web -> Outlook Object Model Reference
und noch mehr Referenzen zu allen Themen rund um VBA VBS und konsorten...
back-to-topVBA/VBS/WSH/Office Developer Referenzen

Grüße Uwe
colinardo
colinardo 27.04.2014 um 23:35:43 Uhr
Goto Top
wenn keine Fragen mehr da sind, bitte den Beitrag noch als gelöst markieren. Danke.

Grüße Uwe