Schnellstart: E-Mail an mehrere Empfänger senden

In diesem Schnellstart erfahren Sie, wie Sie E-Mails mithilfe unserer SDKs für E-Mail an mehrere Empfänger senden können.

Machen Sie die ersten Schritte mit Azure Communication Services, indem Sie die .NET-Clientbibliothek für E-Mail von Communication Services nutzen, um E-Mail-Nachrichten zu senden.

Tipp

Starten Sie Ihre E-Mail-Sendeerfahrung mit Azure Communication Services, indem Sie direkt zum Beispielcode Einfaches Senden von E-Mails and Erweitertes Senden von E-Mails auf GitHub überspringen.

Grundlegendes zum E-Mail-Objektmodell

Die folgenden Klassen und Schnittstellen werden für einige der wichtigsten Features der C#-Clientbibliothek für E-Mail von Azure Communication Services verwendet.

Name BESCHREIBUNG
EmailAddress Diese Klasse enthält eine E-Mail-Adresse und eine Option für einen Anzeigenamen.
EmailAttachment Diese Klasse erstellt eine E-Mail-Anlage durch Übernehmen einer eindeutigen ID, einer MIME-Typ-Zeichenfolge für die Anlage und der Binärdaten für ihren Inhalt.
EmailClient Diese Klasse ist für sämtliche E-Mail-Funktionen erforderlich. Sie instanziieren sie mit Ihrer Verbindungszeichenfolge und verwenden sie zum Senden von E-Mail-Nachrichten.
EmailClientOptions Diese Klasse kann der EmailClient-Instanziierung für eine bestimmte API-Version hinzugefügt werden.
EmailContent Diese Klasse enthält den Betreff und Text der E-Mail-Nachricht. Sie müssen mindestens eine der Inhaltsoptionen „PlainText“ oder „Html“ angeben.
EmailCustomHeader Diese Klasse ermöglicht das Hinzufügen eines Name-Wert-Paars für einen benutzerdefinierten Header. Die Wichtigkeit von E-Mails kann auch über diese Header mithilfe des Headernamens „x-priority“ oder „x-msmail-priority“ angegeben werden.
EmailMessage Diese Klasse kombiniert Absender, Inhalt und Empfänger. Benutzerdefinierte Header, Anlagen und Antwort-E-Mail-Adressen können optional hinzugefügt werden.
EmailRecipients Diese Klasse enthält Listen von EmailAddress-Objekten für Empfänger der E-Mail-Nachricht, einschließlich optionaler Listen für CC & BCC-Empfänger.
EmailSendOperation Diese Klasse stellt den asynchronen E-Mail-Sendevorgang dar und wird vom Aufruf der E-Mail-Sende-API zurückgegeben.
EmailSendResult Diese Klasse enthält die Ergebnisse des E-Mail-Sendevorgangs. Sie weist eine Vorgangs-ID, einen Vorgangsstatus und ein Fehlerobjekt (falls zutreffend) auf.

EmailSendResult gibt den folgenden Status für den ausgeführten E-Mail-Vorgang zurück.

Status BESCHREIBUNG
NotStarted Wir senden diesen Status derzeit nicht von unserem Dienst.
Wird ausgeführt Der E-Mail-Sendevorgang wird derzeit ausgeführt und verarbeitet.
Erfolgreich Der E-Mail-Sendevorgang wurde ohne Fehler abgeschlossen, und die E-Mail ist zur Zustellung raus. Der detaillierte Status zur E-Mail-Übermittlung über diese Phase hinaus kann entweder über Azure Monitor oder über Azure Event Grid abgerufen werden. Informationen zum Abonnieren von E-Mail-Ereignissen
Fehler Der E-Mail-Sendevorgang war nicht erfolgreich, und es ist ein Fehler aufgetreten. Die E-Mail wurde nicht gesendet. Das Ergebnis enthält ein Fehlerobjekt mit weiteren Details zum Fehlergrund.

Voraussetzungen

Im Rahmen dieses Schnellstarts fallen in Ihrem Azure-Konto ggf. geringfügige Kosten im Centbereich an.

Hinweis

Wir können auch eine E-Mail von unserer eigenen verifizierten Domäne senden. Hinzufügen benutzerdefinierter überprüfter Domänen zu Email Communication Service

Prüfen der Voraussetzungen

  • Führen Sie in einem Terminal- oder Befehlsfenster den Befehl dotnet aus, um sich zu vergewissern, dass die .NET-Clientbibliothek installiert ist.
  • Melden Sie sich zum Anzeigen der Ihrer E-Mail-Communication Service-Ressource zugeordneten Unterdomänen beim Azure-Portal an. Suchen Sie nach Ihrer E-Mail-Communication Service-Ressource, und öffnen Sie im linken Navigationsbereich die Registerkarte Domänen bereitstellen.

Erstellen einer neuen C#-Anwendung

Verwenden Sie in einem Konsolenfenster (z. B. cmd, PowerShell oder Bash) den Befehl dotnet new zum Erstellen einer neuen Konsolen-App mit dem Namen EmailQuickstart. Dieser Befehl erstellt ein einfaches „Hallo Welt“-C#-Projekt mit einer einzigen Quelldatei: Program.cs.

dotnet new console -o EmailQuickstart

Wechseln Sie zum neu erstellten App-Ordner, und verwenden Sie den Befehl dotnet build, um Ihre Anwendung zu kompilieren.

cd EmailQuickstart
dotnet build

Installieren des Pakets

Installieren Sie im Anwendungsverzeichnis mithilfe des Befehls dotnet add package das .NET-Paket der Clientbibliothek für E-Mail von Azure Communication Services.

dotnet add package Azure.Communication.Email

Erstellen des E-Mail-Clients mit Authentifizierung

Öffnen Sie Program.cs, und ersetzen Sie den vorhandenen Code durch den folgenden, um using-Anweisungen für die Einbeziehung des Azure.Communication.Email-Namespace und einen Ausgangspunkt zur Ausführung Ihres Programms hinzuzufügen.


using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;

using Azure;
using Azure.Communication.Email;

namespace SendEmail
{
  internal class Program
  {
    static async Task Main(string[] args)
    {

    }
  }
}

Für die Authentifizierung eines E-Mail-Clients stehen verschiedene Optionen zur Verfügung:

Öffnen Sie Program.cs in einem Text-Editor, und ersetzen Sie den Text der Methode Main durch Code zum Initialisieren eines SMS-Clients (EmailClient) mit Ihrer Verbindungszeichenfolge. Im folgenden Code wird die Verbindungszeichenfolge für die Ressource aus einer Umgebungsvariablen namens COMMUNICATION_SERVICES_CONNECTION_STRING abgerufen. Informationen zur Verwaltung der Verbindungszeichenfolge Ihrer Ressource.

// This code demonstrates how to fetch your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
EmailClient emailClient = new EmailClient(connectionString);

Senden einer E-Mail-Nachricht an mehrere Empfänger

Durch Hinzufügen zusätzlicher EmailAddresses-Elemente zum EmailRecipients-Objekt lassen sich weitere Empfänger festlegen. Diese Adressen können als To-, CC- oder BCC-Empfänger hinzugefügt werden. Optional können wir auch eine ReplyTo-E-Mail-Adresse hinzufügen, um Antworten zu erhalten.

// Create the email content
var emailContent = new EmailContent("Welcome to Azure Communication Service Email APIs.")
{
    PlainText = "This email message is sent from Azure Communication Service Email.",
    Html = "<html><body><h1>Quick send email test</h1><br/><h4>This email message is sent from Azure Communication Service Email.</h4><p>This mail was sent using .NET SDK!!</p></body></html>"
};

// Create the To list
var toRecipients = new List<EmailAddress>
{
  new EmailAddress("<emailalias1@emaildomain.com>"),
  new EmailAddress("<emailalias2@emaildomain.com>"),
};

// Create the CC list
var ccRecipients = new List<EmailAddress>
{
  new EmailAddress("<ccemailalias@emaildomain.com>"),
};

// Create the BCC list
var bccRecipients = new List<EmailAddress>
{
  new EmailAddress("<bccemailalias@emaildomain.com>"),
};

EmailRecipients emailRecipients = new EmailRecipients(toRecipients, ccRecipients, bccRecipients);

// Create the EmailMessage
var emailMessage = new EmailMessage(
    senderAddress: "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net" // The email address of the domain registered with the Communication Services resource
    emailRecipients,
    emailContent);

// Add optional ReplyTo address which is where any replies to the email will go to.
emailMessage.ReplyTo.Add(new EmailAddress("<replytoemailalias@emaildomain.com>"));

try
{
    EmailSendOperation emailSendOperation = emailClient.Send(WaitUntil.Completed, emailMessage);
    Console.WriteLine($"Email Sent. Status = {emailSendOperation.Value.Status}");

    /// Get the OperationId so that it can be used for tracking the message for troubleshooting
    string operationId = emailSendOperation.Id;
    Console.WriteLine($"Email operation id = {operationId}");
}
catch (RequestFailedException ex)
{
    /// OperationID is contained in the exception message and can be used for troubleshooting purposes
    Console.WriteLine($"Email send operation failed with error code: {ex.ErrorCode}, message: {ex.Message}");
}

Führen Sie die Anwendung mit dem Befehl dotnet run aus dem Anwendungsverzeichnis aus.

dotnet run

Beispielcode

Sie können die Beispiel-App zur Demonstration dieser Aktion von GitHub herunterladen.

Machen Sie die ersten Schritte mit Azure Communication Services, indem Sie die JS-Clientbibliothek für E-Mail von Communication Services nutzen, um E-Mail-Nachrichten zu senden.

Tipp

Starten Sie Ihre E-Mail-Sendeerfahrung mit Azure Communication Services, indem Sie direkt zum Beispielcode Einfaches Senden von E-Mails and Erweitertes Senden von E-Mails auf GitHub überspringen.

Grundlegendes zum E-Mail-Objektmodell

Die folgenden Klassen und Schnittstellen werden für einige der wichtigsten Features der JavaScript-Clientbibliothek für E-Mail von Azure Communication Services verwendet.

Name BESCHREIBUNG
EmailAddress Diese Klasse enthält eine E-Mail-Adresse und eine Option für einen Anzeigenamen.
EmailAttachment Diese Klasse erstellt eine E-Mail-Anlage durch Übernehmen einer eindeutigen ID, einer MIME-Typ-Zeichenfolge für die Anlage und der Binärdaten für ihren Inhalt.
EmailClient Diese Klasse ist für sämtliche E-Mail-Funktionen erforderlich. Sie instanziieren sie mit Ihrer Verbindungszeichenfolge und verwenden sie zum Senden von E-Mail-Nachrichten.
EmailClientOptions Diese Klasse kann der EmailClient-Instanziierung für eine bestimmte API-Version hinzugefügt werden.
EmailContent Diese Klasse enthält den Betreff und Text der E-Mail-Nachricht. Sie müssen mindestens eine der Inhaltsoptionen „PlainText“ oder „Html“ angeben.
EmailCustomHeader Diese Klasse ermöglicht das Hinzufügen eines Name-Wert-Paars für einen benutzerdefinierten Header. Die Wichtigkeit von E-Mails kann auch über diese Header mithilfe des Headernamens „x-priority“ oder „x-msmail-priority“ angegeben werden.
EmailMessage Diese Klasse kombiniert Absender, Inhalt und Empfänger. Benutzerdefinierte Header, Anlagen und Antwort-E-Mail-Adressen können optional hinzugefügt werden.
EmailRecipients Diese Klasse enthält Listen von EmailAddress-Objekten für Empfänger der E-Mail-Nachricht, einschließlich optionaler Listen für CC & BCC-Empfänger.
EmailSendResult Diese Klasse enthält die Ergebnisse des E-Mail-Sendevorgangs. Sie weist eine Vorgangs-ID, einen Vorgangsstatus und ein Fehlerobjekt (falls zutreffend) auf.
EmailSendStatus Diese Klasse stellt den Statussatz eines E-Mail-Sendevorgangs dar.

EmailSendResult gibt den folgenden Status für den ausgeführten E-Mail-Vorgang zurück.

Statusname BESCHREIBUNG
isStarted Gibt „true“ zurück, wenn der E-Mail-Sendevorgang aktuell ausgeführt und verarbeitet wird.
isCompleted Gibt „true“ zurück, wenn der E-Mail-Sendevorgang ohne Fehler abgeschlossen wurde und die E-Mail zur Zustellung rausgegangen ist. Der detaillierte Status zur E-Mail-Übermittlung über diese Phase hinaus kann entweder über Azure Monitor oder über Azure Event Grid abgerufen werden. Informationen zum Abonnieren von E-Mail-Ereignissen
result Eigenschaft, die vorhanden ist, wenn der E-Mail-Sendevorgang abgeschlossen wurde.
error Eigenschaft, die vorhanden ist, wenn der E-Mail-Sendevorgang nicht erfolgreich war und ein Fehler aufgetreten ist. Die E-Mail wurde nicht gesendet. Das Ergebnis enthält ein Fehlerobjekt mit weiteren Details zum Fehlergrund.

Voraussetzungen

Im Rahmen dieses Schnellstarts fallen in Ihrem Azure-Konto ggf. geringfügige Kosten im Centbereich an.

Hinweis

Wir können auch eine E-Mail von unserer eigenen verifizierten Domäne senden. Hinzufügen benutzerdefinierter überprüfter Domänen zu Email Communication Service

Prüfen der Voraussetzungen

  • Führen Sie in einem Terminal- oder Befehlsfenster node --version aus, um sich zu vergewissern, dass Node.js installiert ist.
  • Melden Sie sich zum Anzeigen der für Ihre E-Mail-Communication Service-Ressource überprüften Domänen beim Azure-Portal an. Suchen Sie nach Ihrer E-Mail-Communication Service-Ressource, und öffnen Sie im linken Navigationsbereich die Registerkarte Domänen bereitstellen.

Einrichten der Anwendungsumgebung

Erstellen einer neuen Node.js-Anwendung

Öffnen Sie zunächst Ihr Terminal- oder Befehlsfenster, erstellen Sie ein neues Verzeichnis für Ihre App, und navigieren Sie zu diesem Verzeichnis.

mkdir email-quickstart && cd email-quickstart

Führen Sie npm init -y aus, um die Datei package.json mit den Standardeinstellungen zu erstellen.

npm init -y

Verwenden Sie einen Text-Editor, um im Stammverzeichnis des Projekts die Datei send-email.js zu erstellen. Ändern Sie die „main“-Eigenschaft in package.json in „send-email.js“. Im folgenden Abschnitt wird veranschaulicht, wie Sie der neu erstellten Datei den Quellcode für diese Schnellstartanleitung hinzufügen.

Installieren des Pakets

Verwenden Sie den Befehl npm install, um die JavaScript-Clientbibliothek für E-Mail von Azure Communication Services zu installieren.

npm install @azure/communication-email --save

Durch die Option --save wird die Bibliothek als Abhängigkeit in der Datei package.json aufgeführt.

Erstellen des E-Mail-Clients mit Authentifizierung

Für die Authentifizierung eines E-Mail-Clients stehen verschiedene Optionen zur Verfügung:

Importieren Sie EmailClient aus der Clientbibliothek, und instanziieren Sie ihn mit Ihrer Verbindungszeichenfolge.

Im folgenden Code wird die Verbindungszeichenfolge für die Ressource aus einer Umgebungsvariablen namens COMMUNICATION_SERVICES_CONNECTION_STRING mithilfe des dotenv-Pakets abgerufen. Verwenden Sie den Befehl npm install, um das dotenv-Paket zu installieren. Informationen zur Verwaltung der Verbindungszeichenfolge Ihrer Ressource.

npm install dotenv

Fügen Sie send-email.js den folgenden Code hinzu:

const { EmailClient } = require("@azure/communication-email");
require("dotenv").config();

// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];
const emailClient = new EmailClient(connectionString);

Der Einfachheit halber werden Verbindungszeichenfolgen verwendet. In Produktionsumgebungen sollten jedoch Dienstprinzipale verwendet werden.

Senden einer E-Mail-Nachricht an mehrere Empfänger

Wenn Sie eine E-Mail-Nachricht an mehrere Empfänger senden möchten, fügen Sie ein Objekt für jeden Empfängertyp und ein Objekt für jeden Empfänger hinzu. Diese Adressen können als To-, CC- oder BCC-Empfänger hinzugefügt werden. Fügen Sie der replyTo-Eigenschaft optional eine E-Mail-Adresse hinzu, wenn Sie Antworten empfangen möchten.

const message = {
  senderAddress: "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>",
  content: {
    subject: "Welcome to Azure Communication Service Email.",
    plainText: "<This email message is sent from Azure Communication Service Email using JS SDK.>"
  },
  recipients: {
    to: [
      {
        address: "customer1@domain.com",
        displayName: "Customer Name 1",
      },
      {
        address: "customer2@domain.com",
        displayName: "Customer Name 2",
      }
    ],
    cc: [
      {
        address: "ccCustomer1@domain.com",
        displayName: " CC Customer 1",
      },
      {
        address: "ccCustomer2@domain.com",
        displayName: "CC Customer 2",
      }
    ],
    bcc: [
      {
        address: "bccCustomer1@domain.com",
        displayName: " BCC Customer 1",
      },
      {
        address: "bccCustomer2@domain.com",
        displayName: "BCC Customer 2",
      }
    ]
  },
  replyTo: [
    {
      address: "replyToCustomer1@domain.com",
      displayName: "ReplyTo Customer 1",
    }
  ]
};

const poller = await emailClient.beginSend(message);
const response = await poller.pollUntilDone();

Beispielcode

Sie können die Beispiel-App zur Demonstration dieser Aktion von GitHub herunterladen.

Steigen Sie in Azure Communication Services ein, indem Sie das Java-E-Mail-SDK von Communication Services nutzen, um E-Mails zu senden.

Tipp

Starten Sie Ihre E-Mail-Sendeerfahrung mit Azure Communication Services, indem Sie direkt zum Beispielcode Einfaches Senden von E-Mails and Erweitertes Senden von E-Mails auf GitHub überspringen.

Grundlegendes zum E-Mail-Objektmodell

Die folgenden Klassen und Schnittstellen dienen zur Behandlung einiger der wichtigsten Features des E-Mail-SDK für Python von Azure Communication Services.

Name BESCHREIBUNG
EmailAddress Diese Klasse enthält eine E-Mail-Adresse und eine Option für einen Anzeigenamen.
EmailAttachment Diese Schnittstelle erstellt eine E-Mail-Anlage durch Übernehmen einer eindeutigen ID, einer MIME-Typ-Zeichenfolge für die Anlage und einer Bytes-Zeichenfolge für den Inhalt.
EmailClient Diese Klasse ist für sämtliche E-Mail-Funktionen erforderlich. Sie instanziieren sie mit Ihrer Verbindungszeichenfolge und verwenden sie zum Senden von E-Mail-Nachrichten.
EmailMessage Diese Klasse kombiniert Absender, Inhalt und Empfänger. Benutzerdefinierte Header, Anlagen und Antwort-E-Mail-Adressen können optional hinzugefügt werden.
EmailSendResult Diese Klasse enthält die Ergebnisse des E-Mail-Sendevorgangs. Sie weist eine Vorgangs-ID, einen Vorgangsstatus und ein Fehlerobjekt (falls zutreffend) auf.
EmailSendStatus Diese Klasse stellt den Statussatz eines E-Mail-Sendevorgangs dar.

EmailSendResult gibt den folgenden Status für den ausgeführten E-Mail-Vorgang zurück.

Statusname BESCHREIBUNG
NOT_STARTED Wir senden diesen Status derzeit nicht von unserem Dienst.
IN_PROGRESS Der E-Mail-Sendevorgang wird derzeit ausgeführt und verarbeitet.
SUCCESSFULLY_COMPLETED Der E-Mail-Sendevorgang wurde ohne Fehler abgeschlossen, und die E-Mail ist zur Zustellung raus. Der detaillierte Status zur E-Mail-Übermittlung über diese Phase hinaus kann entweder über Azure Monitor oder über Azure Event Grid abgerufen werden. Informationen zum Abonnieren von E-Mail-Ereignissen
FAILED Der E-Mail-Sendevorgang war nicht erfolgreich, und es ist ein Fehler aufgetreten. Die E-Mail wurde nicht gesendet. Das Ergebnis enthält ein Fehlerobjekt mit weiteren Details zum Fehlergrund.

Voraussetzungen

Im Rahmen dieser Schnellstartanleitung fallen in Ihrem Azure-Konto ggf. geringfügige Kosten im Centbereich an.

Hinweis

Wir können ferner eine E-Mail von unserer eigenen verifizierten Domäne senden: Hinzufügen benutzerdefinierter überprüfter Domänen zum E-Mail-Kommunikationsdienst.

Prüfen der Voraussetzungen

  • Führen Sie in einem Terminal- oder Befehlsfenster mvn -v aus, um sich zu vergewissern, dass Maven installiert ist.
  • Um die mit Ihrer Communication Services-Ressource für E-Mails verifizierten Domänen anzuzeigen, melden Sie sich beim Azure-Portal an. Suchen Sie Ihre E-Mail-Communication Services-Ressource, und öffnen Sie im linken Navigationsbereich die Registerkarte Domänen bereitstellen.

Einrichten der Anwendungsumgebung

Um eine Umgebung zum Senden von E-Mails einzurichten, müssen Sie die Schritte in den folgenden Abschnitten ausführen.

Erstellen einer neuen Java-Anwendung

Öffnen Sie Ihr Terminal- oder Befehlsfenster, und navigieren Sie zu dem Verzeichnis, in dem Sie Ihre Java-Anwendung erstellen möchten. Führen Sie den folgenden Befehl aus, um das Java-Projekt aus der Vorlage „maven-archetype-quickstart“ zu generieren.

mvn archetype:generate -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeGroupId="org.apache.maven.archetypes" -DarchetypeVersion="1.4" -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart"

Das generate-Ziel erstellt ein Verzeichnis, das den gleichen Namen wie der artifactId-Wert besitzt. In diesem Verzeichnis enthält das Verzeichnis src/main/java den Quellcode des Projekts. Das Verzeichnis src/test/java enthält die Testquelle, und die Datei pom.xml ist das Projektobjektmodell (POM) des Projekts.

Installieren des Pakets

Öffnen Sie die Datei pom.xml in Ihrem Text-Editor. Fügen Sie der Gruppe „dependencies“ das folgende Abhängigkeitselement hinzu.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-email</artifactId>
    <version>1.0.0-beta.2</version>
</dependency>

Einrichten des App-Frameworks

Öffnen Sie /src/main/java/com/communication/quickstart/App.java in einem Text-Editor, fügen Sie Importanweisungen hinzu, und entfernen Sie die System.out.println("Hello world!");-Anweisung:

package com.communication.quickstart;

import com.azure.communication.email.models.*;
import com.azure.communication.email.*;
import com.azure.core.util.polling.PollResponse;
import com.azure.core.util.polling.SyncPoller;

public class App
{
    public static void main( String[] args )
    {
        // Quickstart code goes here.
    }
}

Erstellen des E-Mail-Clients mit Authentifizierung

Für die Authentifizierung eines E-Mail-Clients stehen verschiedene Optionen zur Verfügung:

Um einen Client zu authentifizieren, instanziieren Sie EmailClient mit Ihrer Verbindungszeichenfolge. Informationen zur Verwaltung der Verbindungszeichenfolge Ihrer Ressource. Sie können den Client auch mit einem beliebigen benutzerdefinierten HTTP-Client initialisieren, der die com.azure.core.http.HttpClient-Schnittstelle implementiert.

Um einen Client zu instanziieren, fügen Sie der main-Methode den folgenden Code hinzu:

// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";

EmailClient emailClient = new EmailClientBuilder()
    .connectionString(connectionString)
    .buildClient();

Der Einfachheit halber werden Verbindungszeichenfolgen verwendet. In Produktionsumgebungen sollten jedoch Dienstprinzipale verwendet werden.

Senden einer E-Mail-Nachricht an mehrere Empfänger

Zum Senden einer E-Mail-Nachricht an mehrere Empfänger fügen Sie die neuen Adressen im entsprechenden EmailMessage-Setter hinzu. Diese Adressen können als To-, CC- oder BCC-Empfänger hinzugefügt werden. Fügen Sie der replyTo-Eigenschaft optional eine E-Mail-Adresse hinzu, wenn Sie Antworten empfangen möchten.

EmailMessage message = new EmailMessage()
    .setSenderAddress("<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>")
    .setSubject("Welcome to Azure Communication Services Email")
    .setBodyPlainText("This email message is sent from Azure Communication Services Email using the Java SDK.")
    .setToRecipients("<recipient1@emaildomain.com>", "<recipient2@emaildomain.com>")
    .setCcRecipients("<recipient3@emaildomain.com>")
    .setBccRecipients("<recipient4@emaildomain.com>")
    .setReplyTo("<replytoemail@emaildomain.com>");

SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message, null);
PollResponse<EmailSendResult> response = poller.waitForCompletion();

System.out.println("Operation Id: " + response.getValue().getId());

Zur weiteren Anpassung der E-Mail-Nachrichtenempfänger können Sie die EmailAddress-Objekte instanziieren und sie an die entsprechenden EmailMessage-Setter übergeben.

EmailAddress toAddress1 = new EmailAddress("<recipient1@emaildomain.com>")
    .setDisplayName("Recipient");

EmailAddress toAddress2 = new EmailAddress("<recipient2@emaildomain.com>")
    .setDisplayName("Recipient 2");

EmailMessage message = new EmailMessage()
    .setSenderAddress("<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>")
    .setSubject("Welcome to Azure Communication Services Email")
    .setBodyPlainText("This email message is sent from Azure Communication Services Email using the Java SDK.")
    .setToRecipients(toAddress1, toAddress2)
    .setCcRecipients(toAddress1, toAddress2)
    .setBccRecipients(toAddress1, toAddress2)

SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message, null);
PollResponse<EmailSendResult> response = poller.waitForCompletion();

System.out.println("Operation Id: " + response.getValue().getId());

Beispielcode

Sie können die Beispiel-App zur Demonstration dieser Aktion von GitHub herunterladen.

Steigen Sie in Azure Communication Services ein, indem Sie das Python-E-Mail-SDK von Communication Services nutzen, um E-Mails zu senden.

Tipp

Starten Sie Ihre E-Mail-Sendeerfahrung mit Azure Communication Services, indem Sie direkt zum Beispielcode Einfaches Senden von E-Mails and Erweitertes Senden von E-Mails auf GitHub überspringen.

Grundlegendes zum E-Mail-Objektmodell

Die folgende JSON-Nachrichtenvorlage und das Antwortobjekt veranschaulichen einige der wichtigsten Features des Azure Communication Services Email SDK für Python.

message = {
    "content": {
        "subject": "str",  # Subject of the email message. Required.
        "html": "str",  # Optional. Html version of the email message.
        "plainText": "str"  # Optional. Plain text version of the email
            message.
    },
    "recipients": {
        "to": [
            {
                "address": "str",  # Email address. Required.
                "displayName": "str"  # Optional. Email display name.
            }
        ],
        "bcc": [
            {
                "address": "str",  # Email address. Required.
                "displayName": "str"  # Optional. Email display name.
            }
        ],
        "cc": [
            {
                "address": "str",  # Email address. Required.
                "displayName": "str"  # Optional. Email display name.
            }
        ]
    },
    "senderAddress": "str",  # Sender email address from a verified domain. Required.
    "attachments": [
        {
            "contentInBase64": "str",  # Base64 encoded contents of the attachment. Required.
            "contentType": "str",  # MIME type of the content being attached. Required.
            "name": "str"  # Name of the attachment. Required.
        }
    ],
    "userEngagementTrackingDisabled": bool,  # Optional. Indicates whether user engagement tracking should be disabled for this request if the resource-level user engagement tracking setting was already enabled in the control plane.
    "headers": {
        "str": "str"  # Optional. Custom email headers to be passed.
    },
    "replyTo": [
        {
            "address": "str",  # Email address. Required.
            "displayName": "str"  # Optional. Email display name.
        }
    ]
}

response = {
    "id": "str",  # The unique id of the operation. Uses a UUID. Required.
    "status": "str",  # Status of operation. Required. Known values are:
        "NotStarted", "Running", "Succeeded", and "Failed".
    "error": {
        "additionalInfo": [
            {
                "info": {},  # Optional. The additional info.
                "type": "str"  # Optional. The additional info type.
            }
        ],
        "code": "str",  # Optional. The error code.
        "details": [
            ...
        ],
        "message": "str",  # Optional. The error message.
        "target": "str"  # Optional. The error target.
    }
}

Die response.status-Werte werden in der folgenden Tabelle weiter erläutert.

Statusname BESCHREIBUNG
InProgress Der E-Mail-Sendevorgang wird derzeit ausgeführt und verarbeitet.
Erfolgreich Der E-Mail-Sendevorgang wurde ohne Fehler abgeschlossen, und die E-Mail ist zur Zustellung raus. Der detaillierte Status zur E-Mail-Übermittlung über diese Phase hinaus kann entweder über Azure Monitor oder über Azure Event Grid abgerufen werden. Informationen zum Abonnieren von E-Mail-Ereignissen
Fehler Der E-Mail-Sendevorgang war nicht erfolgreich, und es ist ein Fehler aufgetreten. Die E-Mail wurde nicht gesendet. Das Ergebnis enthält ein Fehlerobjekt mit weiteren Details zum Fehlergrund.

Voraussetzungen

Im Rahmen dieses Schnellstarts fallen in Ihrem Azure-Konto ggf. geringfügige Kosten im Centbereich an.

Hinweis

Wir können auch eine E-Mail von unserer eigenen verifizierten Domäne senden. Hinzufügen benutzerdefinierter überprüfter Domänen zu Email Communication Service

Prüfen der Voraussetzungen

  • Führen Sie in einem Terminal- oder Befehlsfenster den Befehl python --version aus, um sich zu vergewissern, dass Python installiert ist.
  • Um die mit Ihrer Communication Services-Ressource für E-Mails verifizierten Domänen anzuzeigen, melden Sie sich beim Azure-Portal an. Suchen Sie Ihre E-Mail-Communication Services-Ressource, und öffnen Sie im linken Navigationsbereich die Registerkarte Domänen bereitstellen.

Einrichten der Anwendungsumgebung

Um eine Umgebung zum Senden von E-Mails einzurichten, müssen Sie die Schritte in den folgenden Abschnitten ausführen.

Erstellen einer neuen Python-Anwendung

  1. Öffnen Sie Ihr Terminal oder Befehlsfenster. Verwenden Sie dann den folgenden Befehl, um eine virtuelle Umgebung zu erstellen und zu aktivieren. Mit diesem Befehl wird ein neues Verzeichnis für Ihre App erstellt.

    python -m venv email-quickstart
    
  2. Navigieren Sie zum Stammverzeichnis der virtuellen Umgebung, und aktivieren Sie sie mit den folgenden Befehlen.

    cd email-quickstart
    .\Scripts\activate
    
  3. Erstellen Sie mithilfe eines Text-Editors eine Datei mit dem Namen send-email.py im Stammverzeichnis des Projekts, und fügen Sie die Struktur für das Programm hinzu (einschließlich einer einfachen Ausnahmebehandlung).

    import os
    from azure.communication.email import EmailClient
    
    try:
        # Quickstart code goes here.
    except Exception as ex:
        print('Exception:')
        print(ex)
    

In den folgenden Abschnitten fügen Sie den gesamten Quellcode aus diesem Schnellstart zur soeben erstellten Datei send-email.py hinzu.

Installieren des Pakets

Installieren Sie im Anwendungsverzeichnis mithilfe des folgenden Befehls das E-Mail-SDK von Azure Communication Services für Python.

pip install azure-communication-email

Erstellen des E-Mail-Clients mit Authentifizierung

Für die Authentifizierung eines E-Mail-Clients stehen verschiedene Optionen zur Verfügung:

Instanziieren Sie einen E-Mail-Client (EmailClient) mit Ihrer Verbindungszeichenfolge. Informationen zur Verwaltung der Verbindungszeichenfolge Ihrer Ressource.

# Create the EmailClient object that you use to send Email messages.
email_client = EmailClient.from_connection_string(<connection_string>)

Der Einfachheit halber werden Verbindungszeichenfolgen verwendet. In Produktionsumgebungen sollten jedoch Dienstprinzipale verwendet werden.

Senden einer E-Mail-Nachricht an mehrere Empfänger

Durch Hinzufügen zusätzlicher E-Mail-Adressen zum recipients-Objekt lassen sich weitere Empfänger festlegen. Diese Adressen können entsprechend als to-, cc- oder bcc-Empfängerlisten hinzugefügt werden. Optional können wir auch eine ReplyTo-E-Mail-Adresse hinzufügen, um Antworten zu erhalten.

message = {
    "content": {
        "subject": "This is the subject",
        "plainText": "This is the body",
        "html": "html><h1>This is the body</h1></html>"
    },
    "recipients": {
        "to": [
            {"address": "<recipient1@emaildomain.com>", "displayName": "Customer Name"},
            {"address": "<recipient2@emaildomain.com>", "displayName": "Customer Name 2"}
        ],
        "cc": [
            {"address": "<recipient1@emaildomain.com>", "displayName": "Customer Name"},
            {"address": "<recipient2@emaildomain.com>", "displayName": "Customer Name 2"}
        ],
        "bcc": [
            {"address": "<recipient1@emaildomain.com>", "displayName": "Customer Name"},
            {"address": "<recipient2@emaildomain.com>", "displayName": "Customer Name 2"}
        ]
    },
    "replyTo": [
        {"address": "<replytoemail@emaildomain.com>", "displayName": "Display Name"}
    ],
    "senderAddress": "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>"
}

poller = email_client.begin_send(message)
result = poller.result()

Beispielcode

Sie können die Beispiel-App zur Demonstration dieser Aktion von GitHub herunterladen.

Problembehandlung

E-Mail-Zustellung

Zur Behebung von Problemen im Zusammenhang mit der E-Mail-Zustellung können Sie den Status der E-Mail-Zustellung abrufen, um Zustellungsdetails zu erfassen.

Wichtig

Das Erfolgsergebnis, das durch Abfragen des Sendestatus zurückgegeben wird, beweist nur, dass die E-Mail erfolgreich zur Zustellung gesendet wurde. Um zusätzliche Informationen über den Zustellungsstatus am Empfängerende zu erhalten, müssen Sie Behandlung von E-Mail-Ereignissen lesen.

E-mail-Drosselung

Wenn Sie sehen, dass Ihre Anwendung hängt, kann dies darauf zurückzuführen sein, dass das Senden von E-Mails gedrosselt wurde. Sie können dies über die Protokollierung oder die Implementierung einer benutzerdefinierten Richtlinie beheben.

Hinweis

Dieses Sandboxsetup hilft Entwicklern beim Erstellen der Anwendung. Sie können eine schrittweise Erhöhung des Sendevolumens anfordern, sobald die Anwendung einsatzbereit ist. Übermitteln Sie eine Supportanfrage, um das von Ihnen gewünschte Sendelimit zu erhöhen, wenn Sie ein Nachrichtenvolumen senden müssen, das die Ratenbegrenzungen überschreitet.

Bereinigen von Azure Communication Service-Ressourcen

Wenn Sie ein Communication Services-Abonnement bereinigen und entfernen möchten, können Sie die Ressource oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind. Weitere Informationen zum Bereinigen von Ressourcen finden Sie hier.

Nächste Schritte

In diesem Schnellstart haben Sie erfahren, wie Sie den Sendestatus von E-Mails mithilfe von Azure Communication Services manuell abfragen.

Das könnte Sie auch interessieren: