„On Send“-Funktion für Outlook-Add-Ins

Die „On Send“-Funktion für Outlook-Add-Ins bietet Ihnen die Möglichkeit, E-Mails zu behandeln und bestimmte Aktionen für E-Mail-Benutzer zu blockieren. Darüber hinaus können Add-Ins mit ihrer Hilfe bestimmte Elemente zum Zeitpunkt des Sendens festlegen. Hier zwei Anwendungsbeispiele für die „On Send“-Funktion:

  • Sie können verhindern, dass Benutzer vertrauliche Informationen senden oder die Betreffzeile leer lassen.
  • Sie können der CC-Zeile einen spezifischen Empfänger hinzufügen.

Hinweis

Die „On Send“-Funktion wird derzeit nur für Outlook im Web in Office 365 unterstützt. Unterstützung für andere Plattformen wird in Kürze implementiert. Add-Ins, die die „On Send“-Funktion verwenden, sind im Office Store nicht erlaubt.

Die „On Send“-Funktion wird von Ereignissen ausgelöst. Aktuell unterstützt die Funktion den Ereignistyp ItemSend. Mithilfe von Ereignissen in Outlook-Add-Ins können Sie Benutzeraktionen behandeln, überprüfen oder blockieren, auf die bestimmte Bedingungen zutreffen. Beispielsweise können Sie mit Ereignissen:

  • Benutzeraktionen steuern
  • Änderungen behandeln
  • Benutzeraktionen wie Klicks auf Schaltflächen signalisieren
  • Von Benutzern eingegebene Daten überprüfen
  • Nachrichteninhalte validieren

Informationen zu den für die „On Send“-Funktion geltenden Einschränkungen finden Sie im Abschnitt Einschränkungen weiter unten in diesem Artikel.

Wie funktioniert die „On Send“-Funktion?

Mithilfe der „On Send“-Funktion können Sie das synchrone Ereignis ItemSend in Ihr Outlook-Add-In integrieren. Dieses Ereignis erkennt, wenn der Benutzer die Schaltfläche Senden drückt oder sie anklickt, und kann dazu verwendet werden, das Senden der E-Mail-Nachricht zu blockieren, falls sie die Validierung nicht besteht. Wenn ein Benutzer beispielsweise ein Ereignis des Typs „Nachricht senden“ auslöst, kann ein Outlook-Add-In mit integrierter „On Send“-Funktion:

  • Den Inhalt der E-Mail-Nachricht auslesen und validieren
  • Überprüfen, ob die Nachricht eine Betreffzeile enthält
  • Einen vordefinierten Empfänger festlegen

Die Validierung findet clientseitig in Outlook im Web statt, wenn das Sendeereignis ausgelöst wird. Bei Nichtbestehen der Validierung wird das Senden der E-Mail blockiert, und es wird eine Fehlermeldung mit einer Informationsleiste angezeigt, die den Benutzer zu einer bestimmten Handlung auffordert.

Der folgende Screenshot zeigt eine Informationsleiste, die den Absender auffordert, eine Betreffzeile hinzuzufügen:

Screenshot mit einer Fehlermeldung, die den Benutzer zur Eingabe der fehlenden Betreffzeile auffordert

Der folgende Screenshot zeigt eine Informationsleiste, die den Absender darauf hinweist, dass blockierte Wörter gefunden wurden.

Screenshot mit einer Fehlermeldung, die den Benutzer darauf hinweist, dass blockierte Wörter gefunden wurden

Einschränkungen

Aktuell gelten für die „On Send“-Funktion die folgenden Einschränkungen:

  • Office Store: Outlook-Add-Ins, die die „On Send“-Funktion verwenden, dürfen nicht im Office Store veröffentlicht werden. Add-Ins, die das „On Send“-Ereignis verwenden, bestehen die Office Store-Validierung nicht.
  • Manifest: Pro Add-In wird nur ein einziges ItemSend-Ereignis unterstützt. Wenn Sie zwei oder mehr ItemSend-Ereignisse im Manifest angeben, besteht das Manifest die Validierung nicht.
  • Leistung: Mehrere Roundtrips zum Webserver, der das Add-In hostet, können die Add-In-Leistung beeinträchtigen. Berücksichtigen Sie mögliche negative Auswirkungen auf die Leistung, wenn Sie Add-Ins erstellen, die mehrere E-Mail-basierte Vorgänge erfordern.

Einschränkungen hinsichtlich des Postfachtyps

Die „On Send“-Funktion wird nur für Benutzerpostfächer in Outlook im Web unterstützt. Für die folgenden Postfachtypen wird die Funktion derzeit nicht unterstützt:

  • Freigegebene Postfächer
  • Postfächer im Offlinemodus
  • Gruppenpostfächer

Wenn die „On Send“-Funktion für diese Postfachtypen aktiviert ist, unterbindet Outlook im Web das Senden von Nachrichten. Antwortet ein Benutzer auf eine E-Mail in einem Gruppenpostfach, wird das „On Send“-Add-In nicht ausgeführt, und die Nachricht wird gesendet.

Mehrere „On Send“-Add-Ins

Sind mehrere „On Send“-Add-Ins installiert, werden die Add-Ins in der Reihenfolge ausgeführt, in der sie installiert wurden. Wenn das erste Add-In das Senden erlaubt, kann das zweite Add-In eine Änderung vornehmen, die beim ersten Add-In eigentlich eine Blockierung des Sendens ausgelöst hätte. Das erste Add-In wird jedoch nicht wieder ausgeführt, wenn alle installierten Add-Ins das Senden erlaubt haben.

Ein Beispiel: Add-In 1 und Add-In 2 verwenden beide die „On Send“-Funktion. Add-In 1 wurde zuerst installiert, Add-In 2 danach. Add-In 1 überprüft als Bedingung für die Sendeerlaubnis, ob das Wort „Fabrikam“ in der Nachricht vorkommt. Add-In 2 jedoch entfernt alle Vorkommen des Wortes „Fabrikam“. Die Nachricht wird gesendet, sobald alle Vorkommen des Wortes „Fabrikam“ entfernt wurden (aufgrund der Installationsreihenfolge von Add-In 1 und Add-In 2).

Bereitstellen von Outlook-Add-Ins mit integrierter „On Send“-Funktion

Es empfiehlt sich, Outlook-Add-Ins, die die „On Send“-Funktion verwenden, von einem Administrator bereitstellen zu lassen. Der Administrator muss sicherstellen, dass das „On Send“-Add-In:

  • Immer vorhanden ist, wenn ein Verfassen-Element geöffnet wird (E-Mail, neue Nachricht, Antwort oder Weiterleitung)
  • Vom Benutzer weder geschlossen noch deaktiviert werden kann

Installieren von Outlook-Add-Ins mit integrierter „On Send“-Funktion

Um die „On Send“-Funktion in Outlook im Web nutzen zu können, müssen Add-Ins für die verschiedenen Typen von Sendeereignissen konfiguriert sein. Add-Ins für Outlook im Web, die die „On Send“-Funktion verwenden, werden für Benutzer ausgeführt, denen eine Outlook im Web-Postfachrichtlinie zugewiesen ist, für die das Flag OnSendAddinsEnabled auf true gesetzt ist.

Führen Sie die folgenden Exchange Online PowerShell-Cmdlets aus, um ein neues Add-In zu installieren:

$Data=Get-Content -Path '.\Contoso Message Body Checker.xml' -Encoding Byte –ReadCount 0 
New-App -OrganizationApp -FileData $Data -DefaultStateForUser Enabled

Hinweis

Wie Sie über die Remote-PowerShell eine Verbindung mit Exchange Online herstellen können, erfahren Sie unter Herstellen einer Verbindung mit Exchange Online PowerShell.

Aktivieren der „On Send“-Funktion

Die „On Send“-Funktion ist standardmäßig deaktiviert. Administratoren können die „On Send“-Funktion mithilfe von Exchange Online PowerShell-Cmdlets aktivieren.

So aktivieren Sie „On Send“-Add-Ins für alle Benutzer:

  1. Erstellen Sie eine neue Outlook im Web-Postfachrichtlinie:

    New-OWAMailboxPolicy OWAOnSendAddinAllUserPolicy
    

    Hinweis

    Administratoren können eine vorhandene Richtlinie verwenden; die „On Send“-Funktion wird jedoch nur für bestimmte Postfachtypen unterstützt. Für nicht unterstützte Postfächer wird das Senden in Outlook im Web standardmäßig blockiert.

  2. Aktivieren Sie die „On Send“-Funktion:

    Get-OWAMailboxPolicy OWAOnSendAddinAllUserPolicy | Set-OWAMailboxPolicy –OnSendAddinsEnabled:$true
    
  3. Weisen Sie die Richtlinie Benutzern zu:

    Get-User -Filter {RecipientTypeDetails -eq 'UserMailbox'}|Set-CASMailbox -OwaMailboxPolicy OWAOnSendAddinAllUserPolicy
    

Aktivieren der „On Send“-Funktion für eine Benutzergruppe

Gehen Sie wie unten beschrieben vor, um die „On Send“-Funktion für eine bestimmte Gruppe von Benutzern zu aktivieren. In diesem Beispiel möchte der Administrator die „On Send“-Add-In-Funktion in Outlook im Web nur in einer Umgebung für Benutzer des Typs „Finance“ aktivieren (also Benutzer aus der Finanzabteilung).

  1. Erstellen Sie eine neue Outlook im Web-Postfachrichtlinie für die Gruppe:

    New-OWAMailboxPolicy FinanceOWAPolicy
    

    Hinweis

    Administratoren können eine vorhandene Richtlinie verwenden; die „On Send“-Funktion wird jedoch nur für bestimmte Postfachtypen unterstützt (siehe Einschränkungen hinsichtlich des Postfachtyps weiter oben in diesem Artikel). Für nicht unterstützte Postfächer wird das Senden in Outlook im Web standardmäßig blockiert.

  2. Aktivieren Sie die „On Send“-Funktion:

    Get-OWAMailboxPolicy FinanceOWAPolicy | Set-OWAMailboxPolicy –OnSendAddinsEnabled:$true
    
  3. Weisen Sie die Richtlinie Benutzern zu:

    $targetUsers = Get-Group 'Finance'|select -ExpandProperty members
    $targetUsers | Get-User -Filter {RecipientTypeDetails -eq 'UserMailbox'}|Set-CASMailbox -OwaMailboxPolicy FinanceOWAPolicy
    

Hinweis

Es kann bis zu 60 Minuten dauern, bis die Richtlinie wirksam wird. Warten Sie, oder starten Sie die Internetinformationsdienste (IIS) neu. Sobald die Richtlinie wirksam wird, wird die „On Send“-Funktion für die Gruppe aktiviert.

Deaktivieren der „On Send“-Funktion

Führen Sie die nachfolgenden Cmdlets aus, um die „On Send“-Funktion für einen Benutzer zu deaktivieren oder eine Outlook im Web-Postfachrichtlinie zuzuweisen, für die das Flag nicht aktiviert ist. In diesem Beispiel ist die Postfachrichtlinie ContosoCorpOWAPolicy.

Get-CASMailbox joe@contoso.com | Set-CASMailbox –OWAMailboxPolicy "ContosoCorpOWAPolicy"

Hinweis

Weitere Informationen dazu, wie Sie mit dem Cmdlet Set-OwaMailboxPolicy vorhandene Outlook im Web-Postfachrichtlinien konfigurieren können, finden Sie unter Set-OwaMailboxPolicy.

Führen Sie die folgenden Cmdlets aus, um die „On Send“-Funktion für alle Benutzer zu deaktivieren, denen eine spezifische Outlook im Web-Postfachrichtlinie zugewiesen ist:

Get-OWAMailboxPolicy OWAOnSendAddinAllUserPolicy | Set-OWAMailboxPolicy –OnSendAddinsEnabled:$false

Anwendungsszenarien für die „On Send“-Funktion

Nachfolgend sind die unterstützten sowie die nicht unterstützten Anwendungsszenarien für Add-Ins beschrieben, die die „On Send“-Funktion verwenden.

Benutzerpostfach mit aktivierter „On Send“-Add-In-Funktion, aber ohne installierte Add-Ins

In diesem Szenario kann der Benutzer E-Mails senden, ohne dass Add-Ins ausgeführt werden.

Benutzerpostfach mit aktivierter „On Send“-Add-In-Funktion und installierten sowie aktivierten Add-Ins mit „On Send“-Unterstützung

Bei Eintritt des Sendeereignisses werden Add-Ins ausgeführt, die das Senden entweder zulassen oder blockieren.

Postfachstellvertretung: Postfach 1 mit vollständigem Satz an Zugriffsberechtigungen für Postfach 2

Szenario „On Send“-Funktion Postfach 1 „On Send“-Funktion Postfach 2 Outlook im Web-Sitzung Ergebnis Unterstützt?
1 Aktiviert Aktiviert Neue Sitzung Postfach 1 kann keine E-Mails über Postfach 2 senden. Zurzeit nicht unterstützt. Verwenden Sie Szenario 3 als Umgehungslösung.
2 Deaktiviert Aktiviert Neue Sitzung Postfach 1 kann keine E-Mails über Postfach 2 senden. Zurzeit nicht unterstützt. Verwenden Sie Szenario 3 als Umgehungslösung.
3 Aktiviert Aktiviert Selbe Sitzung Zum Zeitpunkt des Sendens werden die Postfach 1 zugewiesenen „On Send“-Add-Ins ausgeführt. Unterstützt
4 Aktiviert Deaktiviert Neue Sitzung Es werden keine „On Send“-Add-Ins ausgeführt. E-Mails werden gesendet. Unterstützt

Gruppe 1 = modernes Gruppenpostfach, Benutzerpostfach 1 = Mitglied von Gruppe 1

Szenario „On Send“-Funktion Postfach 1 „On Send“-Add-Ins aktiviert? Postfach 1-Aktion Ergebnis Unterstützt?
1 Aktiviert Ja Postfach 1 verfasst eine neue Nachricht an Gruppe 1. „On Send“-Add-Ins werden zum Zeitpunkt des Sendens ausgeführt. Ja
2 Aktiviert Ja Postfach 1 verfasst eine neue Nachricht an Gruppe 1 im Outlook im Web-Gruppenfenster von Gruppe 1. Zum Zeitpunkt des Sendens werden keine „On Send“-Add-Ins ausgeführt. Zurzeit nicht unterstützt. Verwenden Sie Szenario 1 als Umgehungslösung.

Benutzerpostfach mit aktivierter „On Send“-Add-In-Funktion, installierten sowie aktivierten Add-Ins mit „On Send“-Unterstützung und aktiviertem Offlinemodus

Wenn der Benutzer online ist, werden die „On Send“-Add-Ins zum Zeitpunkt des Sendens ausgeführt. Ist der Benutzer offline, werden die „On Send“-Add-Ins zum Zeitpunkt des Sendens nicht ausgeführt, und die E-Mail wird nicht gesendet.

Codebeispiele

Die folgenden Codebeispiele demonstrieren, wie Sie ein einfaches „On Send“-Add-In erstellen können. Das Codebeispiel, auf dem diese Beispiele basieren, finden Sie unter Outlook-Add-in-On-Send.

Manifest, Versionsüberschreibung und Ereignis

Das Codebeispiel Outlook-Add-in-On-Send umfasst zwei Manifeste:

  • Contoso Message Body Checker.xml: Demonstriert, wie Sie beim Senden den Text einer Nachricht auf verbotene Wörter oder vertrauliche Informationen überprüfen können.
  • Contoso Subject and CC Checker.xml: Demonstriert, wie Sie beim Senden der CC-Zeile einen Empfänger hinzufügen und überprüfen können, ob die Nachricht eine Betreffzeile hat.

In der Manifestdatei Contoso Message Body Checker.xml geben Sie die Funktionsdatei und den Funktionsnamen an, die bei Eintreten des Ereignisses ItemSend aufgerufen werden sollen. Der Vorgang wird synchron ausgeführt.

<Hosts>
        <Host xsi:type="MailHost">
          <DesktopFormFactor>
            <!-- The functionfile and function name to call on message send.  -->
            <!-- In this case, the function validateBody will be called within the JavaScript code referenced in residUILessFunctionFileUrl. -->
            <FunctionFile resid="residUILessFunctionFileUrl" />
            <ExtensionPoint xsi:type="Events">
              <Event Type="ItemSend" FunctionExecution="synchronous" FunctionName="validateBody" />
            </ExtensionPoint>
          </DesktopFormFactor>
        </Host>
      </Hosts>

Im Beispiel unten sehen Sie den Ausschnitt aus der Manifestdatei Contoso Subject and CC Checker.xml, in dem die Funktionsdatei und der Funktionsname angegeben sind, die bei Eintreten eines Ereignisses des Typs „Nachricht senden“ aufgerufen werden sollen:

<Hosts>
        <Host xsi:type="MailHost">
          <DesktopFormFactor>
            <!-- The functionfile and function name to call on message send.  -->
            <!-- In this case the function validateSubjectAndCC will be called within the JavaScript code referenced in residUILessFunctionFileUrl. -->
            <FunctionFile resid="residUILessFunctionFileUrl" />
            <ExtensionPoint xsi:type="Events">
              <Event Type="ItemSend" FunctionExecution="synchronous" FunctionName="validateSubjectAndCC" />
            </ExtensionPoint>
          </DesktopFormFactor>
        </Host>
      </Hosts>

Die „On Send“-API erfordert VersionOverrides v1_1. Unten sehen Sie, wie Sie Ihrem Manifest den Knoten „VersionOverrides“ hinzufügen können:

 <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
    <!-- On Send requires VersionOverridesV1_1 -->
    <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">

Hinweis

Weitere Informationen erhalten Sie unter den folgenden Themen:

Methoden „Event“, „item“, „body getAsync“ und „setAsync“

Verwenden Sie den Namespace Office.context.mailbox.item, um auf die aktuell ausgewählte Nachricht zuzugreifen (in diesem Beispiel die neu verfasste Nachricht). Das Ereignis ItemSend wird von der „On Send“-Funktion automatisch an die im Manifest angegebene Funktion übergeben. In diesem Beispiel ist das die Funktion validateBody.

 var mailboxItem;

    Office.initialize = function (reason) {
        mailboxItem = Office.context.mailbox.item;
    }

    // Entry point for Contoso Message Body Checker add-in before send is allowed.
    // <param name="event">ItemSend event is automatically passed by on send code to the function specified in the manifest.</param>
    function validateBody(event) {
        mailboxItem.body.getAsync("html", { asyncContext: event }, checkBodyOnlyOnSendCallBack);
    }

Die Funktion validateBody ruft den aktuellen Text im angegebenen Format (HTML) ab und übergibt das Ereignisobjekt ItemSend, auf das der Code in der Rückrufmethode zugreifen will. Neben der Methode getAsync stellt das Objekt Body auch die Methode setAsync bereit, mit der Sie den Nachrichtentext durch einen angegebenen Text ersetzen können.

Hinweis

Weitere Informationen finden Sie unter Event-Objekt und Body.getAsync.

Objekt „NotificationMessages“ und Methode „event.completed“

Die Funktion checkBodyOnlyOnSendCallBack verwendet einen regulären Ausdruck, um zu ermitteln, ob der Nachrichtentext blockierte Wörter enthält. Findet die Funktion Wörter, die im Array mit den verbotenen Wörtern definiert sind, blockiert sie das Senden der E-Mail und benachrichtigt den Absender über die Informationsleiste. Dazu gibt sie über die Eigenschaft notificationMessages des Objekts Item ein NotificationMessages-Objekt zurück. Anschließend ruft sie wie im Beispiel unten dargestellt die Methode addAsync auf, um dem Element eine Benachrichtigung hinzuzufügen:

  // Determine whether the body contains a specific set of blocked words. If it contains the blocked words, block email from being sent. Otherwise allow sending.
    // <param name="asyncResult">ItemeSend event passed from the calling function.</param>
    function checkBodyOnlyOnSendCallBack(asyncResult) {
        var listOfBlockedWords = new Array("blockedword", "blockedword1", "blockedword2");
        var wordExpression = listOfBlockedWords.join('|');

        // \b to perform a "whole words only" search using a regular expression in the form of \bword\b.
        // i to perform case-insensitive search.
        var regexCheck = new RegExp('\\b(' + wordExpression + ')\\b', 'i');
        var checkBody = regexCheck.test(asyncResult.value);

        if (checkBody) {
            mailboxItem.notificationMessages.addAsync('NoSend', { type: 'errorMessage', message: 'Blocked words have been found in the body of this email. Please remove them.' });
            // Block send.
            asyncResult.asyncContext.completed({ allowEvent: false });
        }

        // Allow send.
        asyncResult.asyncContext.completed({ allowEvent: true });
    }

Für die Methode addAsync sind folgende Parameter verfügbar:

  • NoSend: eine Zeichenfolge, bei der es sich um einen entwicklerspezifischen Schlüssel zur Referenzierung einer Benachrichtigung handelt. Mit seiner Hilfe können Sie die Nachricht später ändern. Der Schlüssel darf höchstens 32 Zeichen haben.
  • type: eine der Eigenschaften des JSON-Objektparameters. Sie stellt den Typ der Nachricht dar. Die Typen entsprechen den Werten der Enumeration Office.MailboxEnums.ItemNotificationMessageType. Mögliche Werte sind Statusanzeige, Informationsnachricht und Fehlermeldung. In diesem Beispiel ist als type Fehlermeldung festgelegt.
  • message: eine der Eigenschaften des JSON-Objektparameters. In diesem Beispiel ist message der Text der Benachrichtigung.

Um zu signalisieren, dass das Add-In die Verarbeitung des durch den Sendevorgang ausgelösten ItemSend-Ereignisses abgeschlossen hat, rufen Sie die Methode event.completed({allowEvent:Boolean} auf. Die Eigenschaft allowEvent ist ein boolescher Wert. Ist er auf true gesetzt, darf gesendet werden. Ist er auf false gesetzt, wird das Senden der E-Mail-Nachricht blockiert.

Hinweis

Weitere Informationen finden Sie unter notificationMessages und completed.

Methoden „replaceAsync“, „removeAsync“ und „getAllAsync“

Neben der Methode addAsync stellt das NotificationMessages-Objekt außerdem die Methoden „replaceAsync“, „removeAsync“ und „getAllAsync“ bereit. Diese Methoden werden in diesem Codebeispiel nicht verwendet. Weitere Informationen finden Sie unter NotificationMessages.

Betreff- und CC-Überprüfung

Das folgende Codebeispiel veranschaulicht, wie Sie beim Senden der CC-Zeile einen Empfänger hinzufügen und überprüfen, ob die Nachricht eine Betreffzeile hat. In diesem Beispiel wird die „On Send“-Funktion verwendet, um das Senden der E-Mail zu erlauben oder zu unterbinden.

    // Invoke by Contoso Subject and CC Checker add-in before send is allowed.
    // <param name="event">ItemSend event is automatically passed by on send code to the function specified in the manifest.</param>
    function validateSubjectAndCC(event) {
        shouldChangeSubjectOnSend(event);
    }

    // Determine whether the subject should be changed. If it is already changed, allow send. Otherwise change it.
    // <param name="event">ItemSend event passed from the calling function.</param>
    function shouldChangeSubjectOnSend(event) {
        mailboxItem.subject.getAsync(
            { asyncContext: event },
            function (asyncResult) {
                addCCOnSend(asyncResult.asyncContext);
                //console.log(asyncResult.value);
                // Match string.
                var checkSubject = (new RegExp(/\[Checked\]/)).test(asyncResult.value)
                // Add [Checked]: to subject line.
                subject = '[Checked]: ' + asyncResult.value;

                // Determine whether a string is blank, null, or undefined.
                // If yes, block send and display information bar to notify sender to add a subject.
                if (asyncResult.value === null || (/^\s*$/).test(asyncResult.value)) {
                    mailboxItem.notificationMessages.addAsync('NoSend', { type: 'errorMessage', message: 'Please enter a subject for this email.' });
                    asyncResult.asyncContext.completed({ allowEvent: false });
                }
                else {
                    // If can't find a [Checked]: string match in subject, call subjectOnSendChange function.
                    if (!checkSubject) {
                        subjectOnSendChange(subject, asyncResult.asyncContext);
                        //console.log(checkSubject);
                    }
                    else {
                        // Allow send.
                        asyncResult.asyncContext.completed({ allowEvent: true });
                    }
                }

            }
          )
    }

    // Add a CC to the email. In this example, CC contoso@contoso.onmicrosoft.com
    // <param name="event">ItemSend event passed from calling function</param>
    function addCCOnSend(event) {
        mailboxItem.cc.setAsync(['Contoso@contoso.onmicrosoft.com'], { asyncContext: event });        
    }

    // Determine whether the subject should be changed. If it is already changed, allow send, otherwise change it.
    // <param name="subject">Subject to set.</param>
    // <param name="event">ItemSend event passed from the calling function.</param>
    function subjectOnSendChange(subject, event) {
        mailboxItem.subject.setAsync(
            subject,
            { asyncContext: event },
            function (asyncResult) {
                if (asyncResult.status == Office.AsyncResultStatus.Failed) {
                    mailboxItem.notificationMessages.addAsync('NoSend', { type: 'errorMessage', message: 'Unable to set the subject.' });

                    // Block send.
                    asyncResult.asyncContext.completed({ allowEvent: false });
                }
                else {
                    // Allow send.
                    asyncResult.asyncContext.completed({ allowEvent: true });
                }

            });
    }

Weitere Informationen dazu, wie Sie beim Senden der CC-Zeile einen Empfänger hinzufügen und überprüfen können, ob die E-Mail-Nachricht eine Betreffzeile enthält, finden Sie im Codebeispiel unter Outlook-Add-in-On-Send. Dort finden Sie außerdem einen Überblick über die APIs, die Sie verwenden können. Der Code ist ausführlich kommentiert.

Zusätzliche Ressourcen