Automatisches Überprüfen auf eine Anlage, bevor eine Nachricht gesendet wird

Verpassen Sie nie wieder, ein wichtiges Dokument oder Foto an Ihre Nachricht anzufügen. Mit einem ereignisbasierten Add-In werden Ihre Nachrichten automatisch auf Anlagen überprüft, bevor sie gesendet werden, sodass Sie sicher sind, dass Sie immer eine vollständige Version senden.

In den folgenden Abschnitten erfahren Sie, wie Sie ein ereignisbasiertes Add-In entwickeln, das intelligente Warnungen zur Behandlung des OnMessageSend Ereignisses implementiert. Am Ende dieser exemplarischen Vorgehensweise sucht Ihr Add-In automatisch nach einem angefügten Dokument oder Bild, das in der Nachricht erwähnt wird, und warnt Sie, wenn es fehlt, bevor die Nachricht gesendet wird.

Hinweis

Die OnMessageSend Ereignisse und OnAppointmentSend wurden im Anforderungssatz 1.12 eingeführt. Informationen zum Überprüfen, ob Ihr Outlook-Client diese Ereignisse unterstützt, finden Sie unter Unterstützte Clients und Plattformen.

Einrichten der Umgebung

Bevor Sie mit der exemplarischen Vorgehensweise beginnen, überprüfen Sie, ob Ihr Outlook-Client das Feature "Intelligente Warnungen" unterstützt. Anleitungen finden Sie unter Unterstützte Clients und Plattformen.

Schließen Sie dann den Outlook-Schnellstart ab, der ein Add-In-Projekt mit dem Yeoman-Generator für Office-Add-Ins erstellt.

Konfigurieren des Manifests

Wählen Sie zum Konfigurieren des Manifests die Registerkarte für den Typ des verwendeten Manifests aus.

  1. Öffnen Sie die manifest.json Datei.

  2. Fügen Sie dem Array "extensions.runtimes" das folgende -Objekt hinzu. Beachten Sie Folgendes zu diesem Markup:

    • Die "minVersion" des Postfachanforderungssatzes ist auf "1.12" festgelegt, da die Tabelle mit den unterstützten Ereignissen angibt, dass dies die niedrigste Version des Anforderungssatzes ist, der das OnMessageSend Ereignis unterstützt.
    • Die "id" der Laufzeit wird auf den beschreibenden Namen "autorun_runtime" festgelegt.
    • Die Eigenschaft "code" verfügt über eine untergeordnete "page"-Eigenschaft, die auf eine HTML-Datei festgelegt ist, und eine untergeordnete "script"-Eigenschaft, die auf eine JavaScript-Datei festgelegt ist. Sie erstellen oder bearbeiten diese Dateien in späteren Schritten. Office verwendet je nach Plattform einen dieser Werte oder den anderen.
      • Das klassische Outlook unter Windows führt den Ereignishandler in einer reinen JavaScript-Runtime aus, die eine JavaScript-Datei direkt lädt.
      • Outlook im Web unter Mac und outlook unter Windows (Vorschau) führen den Handler in einer Browserruntime aus, die eine HTML-Datei lädt. Diese Datei enthält wiederum ein <script> Tag, das die JavaScript-Datei lädt. Weitere Informationen finden Sie unter Runtimes in Office-Add-Ins.
    • Die Eigenschaft "lifetime" ist auf "short" festgelegt. Dies bedeutet, dass die Laufzeit gestartet wird, wenn das Ereignis ausgelöst wird, und nach Abschluss des Handlers heruntergefahren wird. (In bestimmten seltenen Fällen wird die Runtime heruntergefahren, bevor der Handler abgeschlossen ist. Siehe Runtimes in Office-Add-Ins.)
    • Es gibt eine Aktion zum Ausführen eines Handlers für das OnMessageSend -Ereignis. Sie erstellen die Handlerfunktion in einem späteren Schritt.
     {
        "requirements": {
            "capabilities": [
                {
                    "name": "Mailbox",
                    "minVersion": "1.12"
                }
            ]
        },
        "id": "autorun_runtime",
        "type": "general",
        "code": {
            "page": "https://localhost:3000/commands.html",
            "script": "https://localhost:3000/launchevent.js"
        },
        "lifetime": "short",
        "actions": [
            {
                "id": "onMessageSendHandler",
                "type": "executeFunction",
                "displayName": "onMessageSendHandler"
            }
        ]
    }
    
  3. Fügen Sie das folgende "autoRunEvents"-Array als Eigenschaft des Objekts im Array "extensions" hinzu.

    "autoRunEvents": [
    
    ]
    
  4. Fügen Sie dem Array "autoRunEvents" das folgende -Objekt hinzu. Zu diesem Code ist Folgendes anzumerken:

    • Das Ereignisobjekt weist dem OnMessageSend Ereignis eine Handlerfunktion zu (unter Verwendung des einheitlichen Manifestnamens des Ereignisses, "messageSending", wie in der Tabelle für unterstützte Ereignisse beschrieben). Der in "actionId" angegebene Funktionsname muss mit dem Namen übereinstimmen, der in einem früheren Schritt in der Eigenschaft "id" des Objekts im Array "actions" verwendet wurde.
    • Die Option "sendMode" ist auf "softBlock" festgelegt. Dies bedeutet: Wenn die Nachricht nicht die Bedingungen erfüllt, die das Add-In für das Senden festlegt, muss der Benutzer Maßnahmen ergreifen, bevor er die Nachricht senden kann. Wenn das Add-In jedoch zum Zeitpunkt des Sendens nicht verfügbar ist, wird das Element gesendet.
      {
          "requirements": {
              "capabilities": [
                  {
                      "name": "Mailbox",
                      "minVersion": "1.12"
                  }
              ],
              "scopes": [
                  "mail"
              ]
          },
          "events": [
            {
                "type": "messageSending",
                "actionId": "onMessageSendHandler",
                "options": {
                    "sendMode": "softBlock"
                }
            }
          ]
      }
    

Tipp

  • Eine Liste der Optionen für den Sendemodus, die mit den OnMessageSend Ereignissen und OnAppointmentSend verfügbar sind, finden Sie unter Verfügbare Sendemodusoptionen.
  • Weitere Informationen zu Manifesten für Outlook-Add-Ins finden Sie unter Office-Add-In-Manifeste.

Implementieren der Ereignisbehandlung

Sie müssen die Behandlung für das ausgewählte Ereignis implementieren.

In diesem Szenario fügen Sie die Behandlung für das Senden einer Nachricht hinzu. Ihr Add-In sucht in der Nachricht nach bestimmten Schlüsselwörtern. Wenn eines dieser Schlüsselwörter gefunden wird, wird überprüft, ob Anlagen vorhanden sind. Wenn keine Anlagen vorhanden sind, empfiehlt das Add-In dem Benutzer, die möglicherweise fehlende Anlage hinzuzufügen.

  1. Erstellen Sie aus demselben Schnellstartprojekt einen neuen Ordner namens launchevent im Verzeichnis ./src .

  2. Erstellen Sie im Ordner ./src/launchevent eine neue Datei mit dem Namen launchevent.js.

  3. Öffnen Sie die Datei ./src/launchevent/launchevent.js in Ihrem Code-Editor, und fügen Sie den folgenden JavaScript-Code hinzu.

    /*
    * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
    * See LICENSE in the project root for license information.
    */
    
    function onMessageSendHandler(event) {
      Office.context.mailbox.item.body.getAsync(
        "text",
        { asyncContext: event },
        getBodyCallback
      );
    }
    
    function getBodyCallback(asyncResult){
      const event = asyncResult.asyncContext;
      let body = "";
      if (asyncResult.status !== Office.AsyncResultStatus.Failed && asyncResult.value !== undefined) {
        body = asyncResult.value;
      } else {
        const message = "Failed to get body text";
        console.error(message);
        event.completed({ allowEvent: false, errorMessage: message });
        return;
      }
    
      const matches = hasMatches(body);
      if (matches) {
        Office.context.mailbox.item.getAttachmentsAsync(
          { asyncContext: event },
          getAttachmentsCallback);
      } else {
        event.completed({ allowEvent: true });
      }
    }
    
    function hasMatches(body) {
      if (body == null || body == "") {
        return false;
      }
    
      const arrayOfTerms = ["send", "picture", "document", "attachment"];
      for (let index = 0; index < arrayOfTerms.length; index++) {
        const term = arrayOfTerms[index].trim();
        const regex = RegExp(term, 'i');
        if (regex.test(body)) {
          return true;
        }
      }
    
      return false;
    }
    
    function getAttachmentsCallback(asyncResult) {
      const event = asyncResult.asyncContext;
      if (asyncResult.value.length > 0) {
        for (let i = 0; i < asyncResult.value.length; i++) {
          if (asyncResult.value[i].isInline == false) {
            event.completed({ allowEvent: true });
            return;
          }
        }
    
        event.completed({
          allowEvent: false,
          errorMessage: "Looks like the body of your message includes an image or an inline file. Attach a copy to the message before sending."
        });
      } else {
        event.completed({
          allowEvent: false,
          errorMessage: "Looks like you're forgetting to include an attachment."
        });
      }
    }
    
    // IMPORTANT: To ensure your add-in is supported in the Outlook client on Windows, remember to map the event handler name specified in the manifest to its JavaScript counterpart.
    if (Office.context.platform === Office.PlatformType.PC || Office.context.platform == null) {
      Office.actions.associate("onMessageSendHandler", onMessageSendHandler);
    }
    

Wichtig

Beachten Sie folgendes, wenn Sie Ihr Add-In für intelligente Warnungen für die Ausführung in Outlook unter Windows entwickeln.

  • Importe werden in der JavaScript-Datei, in der Sie die Behandlung für die ereignisbasierte Aktivierung implementieren, derzeit nicht unterstützt.
  • Um sicherzustellen, dass Ihr Add-In wie erwartet ausgeführt wird, wenn ein OnMessageSend - oder OnAppointmentSend -Ereignis in Outlook unter Windows auftritt, rufen Sie Office.actions.associate in der JavaScript-Datei auf, in der Ihre Handler implementiert sind. Dadurch wird der im Manifest angegebene Ereignishandlername seiner JavaScript-Entsprechung zugeordnet. Wenn dieser Aufruf nicht in Ihrer JavaScript-Datei enthalten ist und die Sendemoduseigenschaft Ihres Manifests auf "Soft Block " festgelegt ist oder nicht angegeben ist, werden Ihre Benutzer am Senden von Nachrichten oder Besprechungen gehindert.

Anpassen der Schaltfläche "Nicht senden" (optional) (Vorschau)

Hinweis

Das Feature zum Anpassen der Schaltfläche "Nicht senden " befindet sich derzeit in Outlook unter Windows in der Vorschauphase. Features in der Vorschau sollten nicht in Produktions-Add-Ins verwendet werden. Wir laden Sie ein, dieses Feature in Test- oder Entwicklungsumgebungen auszuprobieren und Feedback zu Ihrer Erfahrung über GitHub zu begrüßen (siehe Den Abschnitt Feedback am Ende dieser Seite).

Um eine Vorschau dieses Features in Outlook unter Windows anzuzeigen, müssen Sie Version 2308 (Build 16731.20000) oder höher installieren. Nehmen Sie dann am Microsoft 365 Insider-Programm teil, und wählen Sie die Option Betakanal aus, um auf Office-Beta-Builds zuzugreifen.

Wenn ein E-Mail-Element die Bedingungen eines Smart Alerts-Add-Ins nicht erfüllt, wird dem Benutzer ein Dialogfeld angezeigt, in dem er darauf hingewiesen wird, dass möglicherweise zusätzliche Aktionen erforderlich sind, bevor ein Element gesendet werden kann. Die im Manifest angegebene Option für den Sendemodus bestimmt die Optionen, die dem Benutzer im Dialogfeld angezeigt werden. Die Option Nicht senden wird im Dialogfeld angezeigt, unabhängig davon, welche Option für den Sendemodus Sie auswählen. Wenn Sie Nicht senden auswählen, wird der Sendevorgang standardmäßig abgebrochen und das Dialogfeld geschlossen. Um dem Benutzer weitere Anleitungen zur Erfüllung der Bedingungen ihres Add-Ins bereitzustellen, passen Sie den Text dieser Schaltfläche an, und programmieren Sie ihn, um einen Aufgabenbereich zu öffnen, in dem Sie zusätzliche Informationen und Funktionen bereitstellen können.

Ändern des Texts und der Funktionalität der Schaltfläche "Nicht senden"

Um den Text der Schaltfläche Nicht senden zu ändern oder ihr einen Aufgabenbereichsbefehl zuzuweisen, müssen Sie zusätzliche Optionen in der event.completed-Methode Ihres Ereignishandlers festlegen.

  • Mit der Option cancelLabel wird der Text der Schaltfläche "Nicht senden " angepasst. Benutzerdefinierter Text darf maximal 20 Zeichen lang sein.

  • Die Option commandId gibt die ID des Aufgabenbereichs an, der geöffnet wird, wenn die Schaltfläche Nicht senden ausgewählt ist. Der Wert muss mit der Aufgabenbereichs-ID im Manifest Ihres Add-Ins übereinstimmen. Das Markup hängt vom Typ des Manifests ab, das ihr Add-In verwendet.

    • XML-Manifest: Das id Attribut des <Control-Elements> , das den Aufgabenbereich darstellt.
    • Einheitliches Manifest für Microsoft 365: Die Eigenschaft "id" des Aufgabenbereichbefehls im Array "controls".
  • Die Option contextData gibt alle JSON-Daten an, die Sie an das Add-In übergeben möchten, wenn die Schaltfläche Nicht senden ausgewählt ist. Wenn Sie diese Option einschließen, müssen Sie auch die commandId Option festlegen. Andernfalls werden die JSON-Daten ignoriert.

    Tipp

    Um den Wert der contextData Option abzurufen, müssen Sie Office.context.mailbox.item.getInitializationContextAsync in der JavaScript-Implementierung Ihres Aufgabenbereichs aufrufen.

  1. Navigieren Sie zum Ordner ./src/launchevent , und öffnen Sie dannlaunchevent.js.

  2. Ersetzen Sie die getAttachmentsCallback-Funktion durch den folgenden Code.

    function getAttachmentsCallback(asyncResult) {
      const event = asyncResult.asyncContext;
      if (asyncResult.value.length > 0) {
        for (let i = 0; i < asyncResult.value.length; i++) {
          if (asyncResult.value[i].isInline == false) {
            event.completed({ allowEvent: true });
            return;
          }
        }
    
        event.completed({
          allowEvent: false,
          errorMessage: "Looks like the body of your message includes an image or an inline file. Attach a copy to the message before sending.",
          cancelLabel: "Add an attachment",
          commandId: "msgComposeOpenPaneButton"
        });
      } else {
        event.completed({
          allowEvent: false,
          errorMessage: "Looks like you're forgetting to include an attachment.",
          cancelLabel: "Add an attachment",
          commandId: "msgComposeOpenPaneButton"
        });
      }
    }
    
  3. Speichern Sie Ihre Änderungen.

Überschreiben der Sendemodusoption zur Laufzeit (optional) (Vorschau)

Hinweis

Das Feature zum Außerkraftsetzen der Sendemodusoption befindet sich derzeit in Outlook unter Windows in der Vorschauphase. Features in der Vorschau sollten nicht in Produktions-Add-Ins verwendet werden. Wir laden Sie ein, dieses Feature in Test- oder Entwicklungsumgebungen auszuprobieren und Feedback zu Ihrer Erfahrung über GitHub zu begrüßen (siehe Den Abschnitt Feedback am Ende dieser Seite).

Um eine Vorschau dieses Features in Outlook unter Windows anzuzeigen, müssen Sie Version 2308 (Build 16731.20000) oder höher installieren. Nehmen Sie dann am Microsoft 365 Insider-Programm teil, und wählen Sie die Option Betakanal aus, um auf Office-Beta-Builds zuzugreifen.

Es kann Vorkommen geben, in dem Ihr Add-In verschiedene Sendemodusoptionen implementieren soll. Sie möchten beispielsweise, dass Ihr Add-In die Option Blockieren für E-Mail-Elemente erzwingt, die nicht den Informationsschutzrichtlinien Ihrer organization entsprechen, aber nur die Option Benutzer eingabeaufforderung anwenden, um eine Empfehlung bereitzustellen, wenn ein Benutzer den falschen Empfänger hinzufügt.

Um die Sendemodusoption zur Laufzeit außer Kraft zu setzen, müssen Sie die Option sendModeOverride in der event.completed -Methode Ihres Ereignishandlers festlegen.

  1. Navigieren Sie zum Ordner ./src/launchevent , und öffnen Sie dannlaunchevent.js.

  2. Ersetzen Sie die getAttachmentsCallback-Funktion durch den folgenden Code.

    function getAttachmentsCallback(asyncResult) {
      const event = asyncResult.asyncContext;
      if (asyncResult.value.length > 0) {
        for (let i = 0; i < asyncResult.value.length; i++) {
          if (asyncResult.value[i].isInline == false) {
            event.completed({ allowEvent: true });
            return;
          }
        }
    
        event.completed({
          allowEvent: false,
          errorMessage: "Looks like the body of your message includes an image or an inline file. Would you like to attach a copy of it to the message?",
          cancelLabel: "Attach a copy",
          commandId: "msgComposeOpenPaneButton",
          sendModeOverride: Office.MailboxEnums.SendModeOverride.PromptUser
        });
      } else {
        event.completed({
          allowEvent: false,
          errorMessage: "Looks like you're forgetting to include an attachment.",
          cancelLabel: "Add an attachment",
          commandId: "msgComposeOpenPaneButton"
        });
      }
    }
    
  3. Speichern Sie Ihre Änderungen.

Konfigurieren des Aufgabenbereichs (optional)

Wenn Sie die optionalen Schritte implementiert haben, um die Schaltfläche "Nicht senden " anzupassen oder die Option "Sendemodus" in dieser exemplarischen Vorgehensweise außer Kraft zu setzen, müssen Sie auch den Aufgabenbereich konfigurieren. Obwohl der Aufgabenbereich in dieser Implementierung erforderlich ist, ist es keine Anforderung, den Text der Schaltfläche "Nicht senden " anzupassen oder die Option "Sendemodus" außer Kraft zu setzen.

  1. Navigieren Sie zum Ordner ./src/taskpane , und öffnen Sie danntaskpane.html.

  2. Wählen Sie den gesamten <Hauptknoten> (einschließlich der Tags "Öffnen" und "Schließen") aus, und ersetzen Sie ihn durch den folgenden Code.

    <body class="ms-welcome ms-Fabric">
        <header class="ms-welcome__header ms-bgColor-neutralLighter">
            <img width="90" height="90" src="../../assets/logo-filled.png" alt="Contoso" title="Contoso" />
            <h1 class="ms-font-su">Try out the Smart Alerts sample</h1>
        </header>
        <section id="sideload-msg" class="ms-welcome__main">
            <h2 class="ms-font-xl">Please <a href="https://learn.microsoft.com/office/dev/add-ins/testing/test-debug-office-add-ins#sideload-an-office-add-in-for-testing">sideload</a> your add-in to see app body.</h2>
        </section>
        <main id="app-body" class="ms-welcome__main" style="display: none;">
            <p>
                This sample implements a Smart Alerts add-in that activates when you forget to attach a document or picture that you mention in your message.
                To learn more, see the <a href="https://learn.microsoft.com/office/dev/add-ins/outlook/smart-alerts-onmessagesend-walkthrough">Smart Alerts walkthrough</a>.
            </p>
            <h3 class="ms-font-l">Add an attachment</h3>
            <p>Add the URL of a file to add it as an attachment.</p>
            <div class="ms-TextField">
                <label class="ms-Label ms-font-l">URL of file:</label>
                <input id="attachment-url" class="ms-TextField-field" type="text" value="https://localhost:3000/assets/icon-128.png" placeholder="">
            </div>
            <br/>
            <button class="ms-Button ms-Button--primary">
                <span id="add-attachment" class="ms-Button-label">Add as attachment</span>
            </button>
            <br/>
            <h3 class="ms-font-l">Override the send mode option at runtime</h3>
            <p>Add an inline image to test overriding the send mode option at runtime.</p>
            <button class="ms-Button ms-Button--primary">
                <span id="add-inline-image" class="ms-Button-label">Add an inline image</span>
            </button>
        </main>
    </body>
    
  3. Speichern Sie Ihre Änderungen.

  4. Öffnen Sie im gleichen Ordner ./src/taskpanetaskpane.js.

  5. Ersetzen Sie den Inhalt durch den folgenden Code.

    /*
     * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
     * See LICENSE in the project root for license information.
     */
    
    Office.onReady((info) => {
      if (info.host === Office.HostType.Outlook) {
        document.getElementById("sideload-msg").style.display = "none";
        document.getElementById("app-body").style.display = "flex";
        document.getElementById("add-attachment").onclick = addAttachment;
        document.getElementById("add-inline-image").onclick = addInlineImage;
      }
    });
    
    // Adds the specified URL as an attachment to the message.
    export async function addAttachment() {
      const attachmentUrl = document.querySelector("#attachment-url").value;
      Office.context.mailbox.item.addFileAttachmentAsync(attachmentUrl, getFileName(attachmentUrl), (asyncResult) => {
        console.log(asyncResult);
      });
    }
    
    // Gets the file name from a URL.
    function getFileName(url) {
      const lastIndex = url.lastIndexOf("/");
      if (lastIndex >= 0) {
        return url.substring(lastIndex + 1);
      }
    
      return url;
    }
    
    // Adds an inline image to the body of the message.
    export async function addInlineImage() {
      const mailItem = Office.context.mailbox.item;
      const base64String =
        "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";
    
      // Gets the current body of the message.
      mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
        if (bodyResult.status === Office.AsyncResultStatus.Failed) {
          console.log(bodyResult.error.message);
          return;
        }
    
        // Inserts the Base64-encoded image to the beginning of the body.
        const options = { isInline: true, asyncContext: bodyResult.value };
        mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
          if (attachResult.status === Office.AsyncResultStatus.Failed) {
            console.log(attachResult.error.message);
            return;
          }
    
          let body = attachResult.asyncContext;
          body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);
          mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
            if (setResult.status === Office.AsyncResultStatus.Failed) {
              console.log(setResult.error.message);
              return;
            }
    
            console.log("Inline image added to the body.");
          });
        });
      });
    }
    
  6. Speichern Sie Ihre Änderungen.

Aktualisieren der HTML-Datei für Befehle

  1. Öffnen Sie im Ordner ./src/commandscommands.html.

  2. Fügen Sie unmittelbar vor dem schließenden Headtag (</head>) einen Skripteintrag für den JavaScript-Code zur Ereignisbehandlung hinzu.

    <script type="text/javascript" src="../launchevent/launchevent.js"></script> 
    

Wichtig

Die Außerkraftsetzungsfeatures für die Schaltfläche "Nicht senden" und die Option "Sendemodus" befinden sich derzeit in Outlook unter Windows in der Vorschauphase. Wenn Sie diese Features in Ihrem Add-In-Projekt testen, müssen Sie einen Verweis auf die Vorschauversion der Office JavaScript-API in Ihre commands.html-Datei einschließen.

<script type="text/javascript" src="https://appsforoffice.microsoft.com/lib/beta/hosted/office.js"></script>
<script type="text/javascript" src="../launchevent/launchevent.js"></script>
  1. Speichern Sie Ihre Änderungen.

Aktualisieren der Webpack-Konfigurationseinstellungen

  1. Öffnen Sie die webpack.config.js Datei im Stammverzeichnis des Projekts, und führen Sie die folgenden Schritte aus.

  2. Suchen Sie das plugins Array im config -Objekt, und fügen Sie dieses neue Objekt am Anfang des Arrays hinzu.

    new CopyWebpackPlugin({
      patterns: [
        {
          from: "./src/launchevent/launchevent.js",
          to: "launchevent.js",
        },
      ],
    }),
    
  3. Speichern Sie Ihre Änderungen.

Probieren Sie es aus

  1. Führen Sie die folgenden Befehle im Stammverzeichnis Ihres Projekts aus. Wenn Sie ausführen npm start, wird der lokale Webserver gestartet (sofern er noch nicht ausgeführt wird), und Ihr Add-In wird quergeladen.

    npm run build
    
    npm start
    

    Hinweis

    Wenn Ihr Add-In nicht automatisch quergeladen wurde, befolgen Sie die Anweisungen unter Querladen von Outlook-Add-Ins zum Testen , um das Add-In in Outlook manuell querzuladen.

  2. Erstellen Sie in Ihrem bevorzugten Outlook-Client eine neue Nachricht, und legen Sie den Betreff fest. Fügen Sie im Textkörper Text hinzu. Beispiel: "Hier ist ein Bild des vorgeschlagenen Logos."

  3. Senden Sie die Nachricht. Ein Dialogfeld wird angezeigt, in dem Sie aufgefordert werden, eine Anlage hinzuzufügen. Wählen Sie Nicht senden oder Anlage hinzufügen aus. Die verfügbare Option hängt davon ab, ob Sie den optionalen Schritt zum Anpassen der Schaltfläche "Nicht senden " implementiert haben.

    • Standardschaltfläche "Nicht senden ".

      Dialogfeld, in dem der Benutzer aufgefordert wird, der Nachricht eine Anlage hinzuzufügen.

    • Angepasste Schaltfläche "Anlage hinzufügen ".

      Dialogfeld mit einer angepassten Schaltfläche

    Tipp

    Wenn Sie der Schaltfläche Nicht senden einen Aufgabenbereich zuweisen, wird beim Schließen des Dialogfelds auch der angegebene Aufgabenbereich geöffnet.

  4. Fügen Sie Ihrer Nachricht eine Anlage hinzu. Wenn Sie den optionalen Schritt zum Anpassen der Schaltfläche "Nicht senden " implementiert haben, verwenden Sie den Aufgabenbereich, um eine Anlage hinzuzufügen.

    Aufgabenbereich mit einer Option zum Hinzufügen einer Anlage.

  5. Senden Sie die Nachricht. Dieses Mal sollte es keine Warnung geben.

Testen Sie das Überschreiben der Option "Sendemodus" zur Laufzeit (optional).

Wenn Sie den optionalen Schritt zum Überschreiben der Sendemodusoption zur Laufzeit implementiert haben, führen Sie die folgenden Schritte aus, um es auszuprobieren.

  1. Führen Sie im Stammverzeichnis Ihres Projekts aus npm start . Dadurch wird der lokale Webserver gestartet (sofern er noch nicht ausgeführt wird) und das Add-In querladen.

    Hinweis

    Wenn Ihr Add-In nicht automatisch quergeladen wurde, befolgen Sie die Anweisungen unter Querladen von Outlook-Add-Ins zum Testen , um das Add-In in Outlook manuell querzuladen.

  2. Erstellen Sie in Outlook unter Windows eine neue Nachricht, und legen Sie den Betreff fest. Fügen Sie im Textkörper Text hinzu. Beispiel: "Hier ist ein Bild des vorgeschlagenen Logos."

  3. Wählen Sie im Menüband Contoso-Add-In>Aufgabenbereich anzeigen aus.

  4. Wählen Sie im Aufgabenbereich Inlinebild hinzufügen aus. Dem Nachrichtentext wird ein Bild hinzugefügt.

  5. Senden der Nachricht. Es wird ein Dialogfeld angezeigt, in dem empfohlen wird, der Nachricht eine Kopie des Bilds anzufügen.

  6. Wählen Sie Trotzdem senden aus, um die Nachricht unverändert zu senden, oder wählen Sie Kopie anfügen aus, um vor dem Senden der Nachricht eine Kopie einzuschließen.

    Dialogfeld

Wichtig

Wenn ein Smart Alerts-Add-In, das die Außerkraftsetzungsfunktion implementiert, die Verarbeitung eines Ereignisses aufgrund eines Fehlers nicht abschließen kann oder nicht verfügbar ist, wenn das Ereignis auftritt, verwendet es die im Manifest angegebene Option für den Sendemodus.

Siehe auch