Freigeben über


Erneutes Senden einer nicht zugestellten Nachricht

Gilt für: Outlook 2013 | Outlook 2016

Ein Transportanbieter sendet einen Nichtzustellbarkeitsbericht (Non-Delivery Report, NDR), wenn er eine von Ihnen übermittelte Nachricht nicht erfolgreich übermitteln kann. Es liegt am Client, ob Benutzer versuchen können, diese nicht zugestellten Nachrichten erneut zu senden. Wenn Sie das erneute Senden von Nachrichten unterstützen, können Sie entweder ein von MAPI bereitgestelltes Formular verwenden oder ein eigenes implementieren. Das MAPI-Formular zeigt nach Möglichkeit die Namen der fehlgeschlagenen Empfänger und den Grund für den Zustellungsfehler an und enthält eine Schaltfläche, die es einem Benutzer ermöglicht, die Nachricht erneut zu senden.

Wenn eine neu gesendete Nachricht empfangen wird, sollte sie genau wie die ursprüngliche Nachricht aussehen. Der Empfänger sollte nicht zwischen einer Nachricht unterscheiden können, die beim ersten Übertragungsversuch zugestellt wurde, oder einem nachfolgenden Versuch. Antworten auf diese Nachricht sollten genau so funktionieren, als ob die Nachricht beim ersten Mal erfolgreich gesendet worden wäre.

So senden Sie eine nicht zugestellte Nachricht erneut

  1. Rufen Sie IMAPIFolder::CreateMessage auf, um eine neue Nachricht zu erstellen.

  2. Kopieren Sie alle Eigenschaften aus der ursprünglichen Nachricht, mit Ausnahme der Eigenschaft PR_MESSAGE_RECIPIENTS (PidTagMessageRecipients) und der Eigenschaften PR_SENDER und PR_SENT_REPRESENTING . Nehmen Sie die folgenden Eigenschaftsänderungen vor:

    • Legen Sie PR_MESSAGE_CLASS (PidTagMessageClass) auf die eigenschaft PR_ORIG_MESSAGE_CLASS (PidTagOriginalMessageClass) des Berichts fest.

    • Legen Sie das MSGFLAG_RESEND-Flag in der eigenschaft PR_MESSAGE_FLAGS (PidTagMessageFlags) fest.

    • Legen Sie PR_ORIGINAL_ENTRYID (PidTagOriginalEntryId) auf die eigenschaft PR_ENTRYID (PidTagEntryId) der ursprünglichen Nachricht fest.

    • Legen Sie für jeden Empfänger MAPI_SUBMITTED in der eigenschaft PR_RECIPIENT_TYPE (PidTagRecipientType) fest.

    • Duplizieren Sie jeden fehlerhaften Empfänger. Ändern Sie die eigenschaft PR_RECIPIENT_TYPE für den duplizierten Empfänger in MAPI_P1. Daher gibt es jetzt für jeden fehlgeschlagenen Empfänger zwei Einträge in der Empfängertabelle: einen mit PR_RECIPIENT_TYPE , der auf den ursprünglichen Wert festgelegt ist, und der andere mit PR_RECIPIENT_TYPE auf MAPI_P1 festgelegt.

  3. Rufen Sie ScCreateConversationIndex auf, um bei Bedarf die Unterhaltungsnachverfolgung einzurichten.

  4. Rufen Sie die IMessage::ModifyRecipients-Methode der neuen Nachricht auf, um die Empfängerliste zu aktualisieren.

  5. Rufen Sie IMessage::SubmitMessage auf, um die neue Nachricht zu speichern und zu senden.