VBOffice

ReturnPath aus Email-Nachrichtenkopf anzeigen

Dieses Beispiel fügt den ReturnPath einer benutzerdefinierten Eigenschaft hinzu, so dass Sie die Info zu jeder Email in der Listenansicht sofort sehen können.

Zuletzt geändert: 18.07.2009 | Aufrufe: 64.190  | #73
◀ Vorheriges Beispiel Nächstes Beispiel ▶
Category-Manager Category-Manager
Mit dem Category-Manager können Sie Outlook Kategorien gruppieren, synchronisieren und filtern, neuen Emails automatisch die Kategorie des Absenders zuweisen und vieles mehr. Das Addin ist auch für IMAP geeignet.

Dieses Beispiel extrahiert den Return-Path aus dem Nachrichtenkopf einer eingehenden E-Mail und speichert die Info in der benutzerdefinierten Eigenschaft 'ReturnPath'. Diese Eigenschaft können Sie sich dann in der Ordneransicht anzeigen lassen.

Damit das Beispiel funktioniert, muss die Redemption installiert werden.


tip  So fügen Sie Makros in Outlook ein
Private WithEvents Items As Outlook.Items

Private Sub Application_Startup()
  Dim Ns As Outlook.NameSpace
  Set Ns = Application.GetNamespace("MAPI")
  Set Items = Ns.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub Items_ItemAdd(ByVal Item As Object)
  If TypeOf Item Is Outlook.MailItem Then
    ExtractDataFromMsgHeader Item
  End If
End Sub

Private Sub ExtractDataFromMsgHeader(Mail As Outlook.MailItem)
  On Error Resume Next
  Dim sfItem As Object
  Dim PR_TRANSPORT_MESSAGE_HEADERS&
  Dim MsgHeader$, ReturnPath$
  Dim p1&, p2&
  Dim Prop As Outlook.UserProperty

  PR_TRANSPORT_MESSAGE_HEADERS = &H7D001E
  Set sfItem = CreateObject("redemption.safemailitem")
  sfItem.Item = Mail
  MsgHeader = sfItem.Fields(PR_TRANSPORT_MESSAGE_HEADERS)
  p1 = InStr(1, MsgHeader, "Return-Path:", vbTextCompare)
  If p1 Then
    p1 = p1 + Len("Return-Path:")
    p2 = InStr(p1, MsgHeader, vbCrLf)
    If p2 Then
      ReturnPath = Trim$(Mid$(MsgHeader, p1, p2 - p1))
      Set Prop = Mail.UserProperties("ReturnPath")
      If Prop Is Nothing Then
        Set Prop = Mail.UserProperties.Add("ReturnPath", olText, True)
      End If
      Prop.Value = ReturnPath
      Mail.Save
    End If
  End If
  sfItem.Item = Nothing
  Set sfItem = Nothing
End Sub
ReplyAll ReplyAll
Mit diesem Addin für Outlook erhalten Sie in verschiedenen Situationen eine Warnung, bevor Sie auf eine Email versehentlich allen anderen Empfängern antworten.
email  Senden Sie eine Nachricht