plainswalker
Goto Top

Verborgene Informationen aus einem E-Mail-Header vor einem E-Mail-Body bei Weiterleitung automatisch reinschreiben - Outlook 2010

Hallo zusammen!

Folgende Konstellation:

Ich habe X Weiterleitungsadressen und eine Empfängeradresse.
Wenn eine E-Mail an eine der Weiterleitungsadressen geschickt wird und automatisch an meine Empfängeradresse geleitet wird, kann ich nicht mehr erkennen an welche
Weiterleitungsadresse die E-Mail versandt wurde.
Mir ist klar, dass ich bei einer im neuen Fenster geöffneten E-Mail, mit einem Klick auf den Pfeil im Bereich "Kategorien" diese Information erhalte.
Das ist allerdings nicht der Vorgang, wie ich ihn anstrebe.

Ziel ist es, die Information "To: weiterleitungsadresse@e-mail.de" aus dem Header bei jeder automatischen Weiterleitung mit einer Trennlinie noch vor dem E-Mail-Body ins Textfeld zu schreiben.

Hat jemand eine Idee wie das zu lösen ist, bzw. ob das überhaupt möglich ist?

Gruß

plainswalker

Content-Key: 243581

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

Printed on: April 19, 2024 at 19:04 o'clock

Member: colinardo
Solution colinardo Jul 14, 2014, updated at Jul 15, 2014 at 13:56:50 (UTC)
Goto Top
Hallo plainswalker,
Hat jemand eine Idee wie das zu lösen ist, bzw. ob das überhaupt möglich ist?
Outlook hat dafür die Posteingangs-Regeln über die du die Mails ausfiltern und unterschiedlichen Ordnern zuweisen kannst.
Hier gibt es die Bedingung mit bestimmten Wörtern in der Nachrichtenkopfzeile, mit der du das gewünschte erreichen kannst.
Ansonsten ginge dies in Outlook alternativ auch mit einem Makro das so aussehen könnte:
(In Outlook ALT-F11 drücken und den Code in ThisOutlookSession oder DieseOutlookSitzung* einfügen, dann müssen deine verwendeten Weiterleitungsadressen ab Zeile 9 eingefügt werden.) Der Code fügt nur bei Vorkommen einer dieser Mail-Adressen in der To: Zeile des Headers diese Info in der Betreffzeile hinzu. Ich habe hier die Betreffzeile gewählt, da bei manchen IMAP-Konten in Outlook in diesem frühen Stadium der Zugriff auf den Mailbody noch nicht gewährleistet ist und es so zu Fehlern kommen könnte.
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    On Error Resume Next
    Dim objItem As Object, objProperty As UserProperty, arrEntryIDs As Variant, i As Integer, arrName As Variant, strHeader As String, regex As Object, dicMails As Object
    
    Set regex = CreateObject("vbscript.regexp")  
    Set dic = CreateObject("Scripting.Dictionary")  
    
    'Adressen angeben  
    dic.Add "mail1@domain.de", ""  
    dic.Add "mail2@domain.de", ""  
    dic.Add "mail3@domain.de", ""  
    ' usw  
    
    'Regex Objekt auf Header vorbereiten  
    regex.MultiLine = True
    regex.Ignorecase = True
    regex.pattern = "^To:.*?([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6})"  
    
    'Für jede eingehende Mail ...  
    arrEntryIDs = Split(EntryIDCollection, ",")  
    For i = 0 To UBound(arrEntryIDs)
        Set objItem = Application.Session.GetItemFromID(arrEntryIDs(i))
        If objItem.Class = olMail Then
            ' Header der Mail holen  
            strHeader = objItem.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E")  
            ' Mit Regex entsprechende Zeile extrahieren  
            Set matches = regex.Execute(strHeader)
            If matches.Count > 0 Then
                ' Wenn die TO-Adresse zu einer der Adressen im Dictinary passt füge die Info im Subject hinzu  
                If dic.Exists(matches(0).Submatches(0)) Then
                    objItem.Subject = objItem.Subject & " ### " & matches(0) & " ###"  
                    objItem.Save
                End If
            End If
        End If
    Next
    Set regex = Nothing
    Set dic = Nothing
End Sub
Grüße Uwe
Member: plainswalker
plainswalker Jul 15, 2014 at 08:26:20 (UTC)
Goto Top
Hallo, Uwe!

Die VB-Lösung ist exakt das, was ich gebraucht habe!

Danke für die Idee un die Mühe!

Gruß

Alex
Member: colinardo
colinardo Jul 15, 2014 at 12:57:56 (UTC)
Goto Top
dann bitte als gelöst markieren nicht vergessen face-wink

Grüße Uwe