Freigeben über


Lernprogramm: Integration in Azure Logic Apps zum Senden von E-Mails

In diesem Lernprogramm erfahren Sie, wie Sie Ihre App Service-App mithilfe von Azure Logic Apps in Ihre Geschäftsprozesse integrieren. Sie erstellen eine Logik-App, die E-Mails über Gmail über Ihre Azure App Service-App sendet.

Es gibt andere Möglichkeiten zum Senden von E-Mails aus einer Web-App, z. B. die Verwendung der SMTP-Konfiguration (Simple Mail Transfer Protocol) in Ihrem Sprachframework. Logik-Apps bieten jedoch eine einfache Konfigurationsschnittstelle für viele Unternehmensintegrationen, ohne ihrem Code Komplexität hinzuzufügen.

Sie können die in diesem Lernprogramm gezeigten Schritte verwenden, um mehrere gängige Web-App-Szenarien zu implementieren, z. B.:

  • Senden einer Bestätigungs-E-Mail für eine Transaktion.
  • Hinzufügen von Benutzern zur Facebook-Gruppe.
  • Herstellen einer Verbindung mit externen Systemen wie SAP und Salesforce.
  • Austauschen von B2B-Standardnachrichten.

Voraussetzungen

Sie müssen über die folgenden Voraussetzungen verfügen, um dieses Lernprogramm abzuschließen:


Erstellen der Logik-App

  1. Erstellen Sie eine Mehrinstanzenverbrauchs-App in Azure Logic Apps , indem Sie die Anweisungen unter Create a Consumption logic app resource befolgen. Wenn die App erstellt wird, wählen Sie "Zur Ressource wechseln" aus.

  2. Wählen Sie auf der Seite "Logik-App" unter "Entwicklungstools" im linken Navigationsmenü "Logik-App-Designer" aus.

Hinzufügen des Triggers

  1. Wählen Sie " Auslöser hinzufügen" auf der Logik-App-Designer-Canvas aus.

    Screenshot der Designer-Canvas

  2. Wählen Sie auf dem Bildschirm "Trigger hinzufügen " unter "Integrierte Tools" die Option "Anfordern" aus, und wählen Sie auf dem nächsten Bildschirm " Wenn eine HTTP-Anforderung empfangen wird" aus.

    Screenshot mit hervorgehobener Option

    Der Trigger wird auf der Designer-Canvas angezeigt.

  3. Wählen Sie auf dem Bildschirm " Empfang einer HTTP-Anforderung " die Option "Beispielnutzlast verwenden" aus, um ein Schema zu generieren.

    Screenshot des Bildschirms

  4. Fügen Sie den folgenden Code in den Eingabe- oder Einfügebildschirm einer JSON-Beispielnutzlast ein, und wählen Sie dann "Fertig" aus.

    {
        "task": "<description>",
        "due": "<date>",
        "email": "<email-address>"
    }
    

    Azure generiert das Schema für die von Ihnen eingegebenen Anforderungsdaten. In der Praxis können Sie die tatsächlichen Anforderungsdaten aus Ihrem Anwendungscode erfassen und verwenden, um das JSON-Schema zu generieren.

  5. Wählen Sie auf der oberen Symbolleiste des Logic App-Designers "Speichern" aus.

  6. Die generierte HTTP-URL wird nun unter HTTP-URL auf dem Bildschirm " Empfang einer HTTP-Anforderung " angezeigt. Wählen Sie das Kopiersymbol aus, um die URL zu kopieren, die später verwendet werden soll.

    Screenshot des Bildschirms

Die HTTP-Anforderungsdefinition ist ein Trigger für alles, was Sie in diesem Logik-App-Workflow tun möchten, z. B. das Senden von E-Mails. Später rufen Sie diese URL in Ihrer App Service-App auf. Weitere Informationen zum Anforderungstrigger finden Sie unter Empfangen und Beantworten eingehender HTTPS-Aufrufe, die an Workflows in Azure Logic Apps gesendet werden.

Erstellen der E-Mail

Fügen Sie eine E-Mail-Aktion zum Senden hinzu, und füllen Sie die E-Mail mit den drei zuvor eingegebenen HTTP-Anforderungseigenschaften auf.

  1. Wählen Sie im Designer-Zeichenbereich den + Unterauslöser aus, und wählen Sie " Aktion hinzufügen" aus.

  2. Geben Sie auf dem Bildschirm " Aktion hinzufügen " gmail in das Suchfeld ein, und wählen Sie dann "E-Mail senden" (V2) aus.

    Tipp

    Sie können auch nach anderen Arten von Integrationen suchen, z. B. SendGrid, MailChimp, Microsoft 365 und Salesforce. Weitere Informationen finden Sie unter Verwaltete Connectors für Azure Logic Apps.

  3. Wählen Sie auf dem Bildschirm "Verbindung erstellen " die Option "Anmelden " aus, um den Zugriff auf das Gmail-Konto zu authentifizieren, von dem Sie die E-Mail senden möchten.

    Screenshot der Gmail-Aktion, in der Sie sich bei Ihrem Gmail-Konto anmelden.

  4. Nachdem Sie sich angemeldet haben, wählen Sie im Feld "An " auf dem Bildschirm " E-Mail senden" (V2) aus, um das Symbol für dynamische Inhalte anzuzeigen. Wählen Sie den oberen, Blitzteil des Symbols aus.

  5. Die Liste der dynamischen Inhalte wird mit den drei zuvor eingegebenen HTTP-Anforderungseigenschaften angezeigt. Wählen Sie in der Liste E-Mails aus.

    Screenshot, der das Symbol für dynamische Inhalte und die Liste mit hervorgehobener E-Mail zeigt.

  6. Auf dem Bildschirm " E-Mail senden" (V2) wird das E-Mail-Element im Feld "An " angezeigt. Dropdown der Liste unter "Erweiterte Parameter", und wählen Sie "Betreff " und "Text" aus.

    Screenshot, der zeigt, wie

  7. Die Felder "Betreff " und "Text " werden auf dem Bildschirm " E-Mail senden" (V2) angezeigt. Wählen Sie im Feld "Betreff " aus, um das Symbol für dynamische Inhalte anzuzeigen, und wählen Sie die Aufgabe aus der Liste der dynamischen Inhalte aus.

  8. Geben Sie im Feld "Betreff " neben " Aufgabe" ein Leerzeichen ein, gefolgt von "Erstellt".

  9. Wählen Sie im Feld "Textkörper " aus, zeigen Sie die Liste dynamischer Inhalte an, und wählen Sie "Fällig" aus.

  10. Verschieben Sie im Feld "Textkörper " den Cursor vor "Fällig ", und geben Sie "Diese Arbeitsaufgabe" ein, gefolgt von einem Leerzeichen.

    Screenshot des ausgefüllten Formulars

Hinzufügen einer Antwort

Fügen Sie dem HTTP-Trigger eine asynchrone HTTP-Antwort hinzu.

  1. Wählen Sie auf der Designer-Canvas den + Zwischenauslöser der HTTP-Anforderung und der Gmail-Aktion aus, und wählen Sie " Parallele Verzweigung hinzufügen" aus.

    Screenshot mit hervorgehobener Option

  2. Geben Sie auf dem Bildschirm " Aktion hinzufügen " die Antwort in das Suchfeld ein, und wählen Sie dann "Antwort" aus.

    Screenshot der hervorgehobenen Suchleiste und Antwortaktion.

    Standardmäßig sendet die Antwortaktion eine HTTP 200, die für dieses Lernprogramm ausreichend ist. Weitere Informationen finden Sie unter Empfangen und Beantworten eingehender HTTPS-Aufrufe, die an Workflows in Azure Logic Apps gesendet werden.

  3. Wählen Sie " Speichern " auf der Symbolleiste des Logik-App-Designers aus.

Hinzufügen des HTTP-Anforderungscodes zu Ihrer App Service-App

Sie sollten vermeiden, vertrauliche Informationen wie die Anforderungstrigger-URL direkt in Ihren App-Dienst-App-Code einzufügen. Stattdessen können Sie über app Service-App-Einstellungen auf die URL als Umgebungsvariable verweisen. Mit dem folgenden Befehl wird eine Umgebungsvariable erstellt, die für die HTTP-URL der Logik-App aufgerufen wird LOGIC_APP_URL .

  1. Führen Sie in Azure Cloud Shell den folgenden Azure CLI-Befehl aus, um die App-Einstellung zu erstellen. Ersetzen Sie <resource-group-name> Die App-App- und Ressourcengruppennamen und ersetzen <app-name> Sie sie durch ihre App Service-App und Ressourcengruppennamen. Ersetzen Sie durch <http-url> die HTTP-URL, die Sie aus Ihrer Logik-App kopiert haben.

    az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings LOGIC_APP_URL="<http-url>"
    
  2. Stellen Sie in Ihrem Code einen standardmäßigen HTTP-Beitrag zur Logik-App-URL mithilfe einer HTTP-Clientsprache für Ihr Sprachframework zur Verfügung, mit der folgenden Konfiguration:In your code, make a standard HTTP post to the logic app URL using an HTTP client language available to your language framework, with the following configuration:

    • Stellen Sie sicher, dass die Anforderung die Überschrift Content-Type: application/jsonenthält.

    • Verwenden Sie das gleiche JSON-Format, das Sie für Ihre Logik-App im Anforderungstext bereitgestellt haben:

      {
          "task": "<description>",
          "due": "<date>",
          "email": "<email-address>"
      }
      
    • Senden Sie die Anforderung nach Möglichkeit asynchron, um die Leistung zu optimieren.

    • Informationen zum Protokollieren finden Sie in der Dokumentation für Ihr bevorzugtes Framework.

Beispielbeispiele für Anforderungs-/Antwortcodebeispiele

Wählen Sie Ihre bevorzugte Sprache/Ihr bevorzugtes Framework aus, um eine Beispielanforderung und -antwort anzuzeigen. Einige Beispiele erfordern die Verwendung oder Installation von Codepaketen.

In ASP.NET Core können Sie HTTP POST mit der System.Net.Http.HttpClient-Klasse senden. Das folgende Codebeispiel erfordert Verwendung System.Net.Http und System.Text.Json. Für HttpResponseMessage den Zugriff auf App-Einstellungen ist die Di-Konfiguration (Dependency Injection) erforderlich. Weitere Informationen finden Sie unter Access-Umgebungsvariablen.

// requires using System.Net.Http;
var client = new HttpClient();
// requires using System.Text.Json;
var jsonData = JsonSerializer.Serialize(new
{
    email = "someone@example.com",
    due = "4/1/2025",
    task = "My new task!"
});

HttpResponseMessage result = await client.PostAsync(
    // Requires DI configuration to access app settings
    _configuration["LOGIC_APP_URL"],
    new StringContent(jsonData, Encoding.UTF8, "application/json"));
    
var statusCode = result.StatusCode.ToString();

Hinweis

Dieser Democode ist aus Gründen der Einfachheit geschrieben. In der Praxis instanziieren HttpClient Sie kein Objekt für jede Anforderung. Befolgen Sie die Anleitung unter Verwenden von IHttpClientFactory zur Implementierung robuster HTTP-Anforderungen.

Tipp

Wenn Sie die Beispiel-App aus Dem Lernprogramm verwenden: Erstellen Sie eine ASP.NET Core- und SQL-Datenbank-App in Azure App Service, können Sie diesen Code verwenden, um eine E-Mail-Bestätigung in der Aktion "Erstellen" zu senden, nachdem Sie ein Todo Element hinzugefügt haben.