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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 243581
Url: https://administrator.de/contentid/243581
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo plainswalker,
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.
Grüße Uwe
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