Schnellstart: Senden einer E-Mail mithilfe von Azure Communication Services
Hinweis
Teilen Sie Ihre Gedanken und Ihr Feedback zu Azure Communication Services mit uns, indem Sie diese kurze Umfrage machen.
In dieser Schnellstartanleitung wird beschrieben, wie E-Mails mithilfe unserer E-Mail-SDKs gesandt werden.
Steigen Sie in Azure Communication Services ein, indem Sie Try Email von Communication Services nutzen, um E-Mails zu senden.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Die aktuelle Version der .NET Core-Clientbibliothek für Ihr Betriebssystem.
- Eine E-Mail-Communication Service-Ressource wurde in Azure erstellt und steht mit einer bereitgestellten Domänen zur Verfügung Erste Schritte mit dem Erstellen einer E-Mail-Communication Service-Ressource
- Eine aktive Communication Services-Ressource, die mit der E-Mail-Domäne verbunden ist. Erste Schritte nach Verbinden der E-Mail-Ressource mit einer Kommunikationsressource
Im Rahmen dieses Schnellstarts fallen in Ihrem Azure-Konto ggf. geringfügige Kosten im Centbereich an.
Senden einer E-Mail mithilfe von Try Email
Try Email hilft Ihnen mit Azure Communication Services beim Senden von E-Mails an die gewünschten Empfänger*innen sowie beim Überprüfen der Konfiguration Ihrer Anwendung zum Senden von E-Mails. Außerdem können Sie mit Codeschnipseln in Ihrer bevorzugten Sprache mit dem Entwickeln von E-Mail-Benachrichtigungen beginnen.
So senden Sie eine Nachricht an eine/n Empfänger*in und geben den Betreff und den Text der Nachricht an
Klicken Sie auf der Übersichtsseite einer bereitgestellten Azure Communication Service-Ressource im linken Navigationsbereich unter „E-Mail“ auf Try Email.
Wählen Sie in der Dropdownliste eine der überprüften Domänen aus.
Verfassen Sie die zu sendende E-Mail.
- Geben Sie die E-Mail-Adresse des Empfängers oder der Empfängerin ein.
- Geben Sie den Betreff ein.
- Schreiben Sie den E-Mail-Text.
Klicken Sie auf „Senden“.
Die E-Mail wurde erfolgreich gesendet.
Sie können jetzt auch den Beispielcodeschnipsel kopieren, um eine E-Mail zu senden, die in Ihrem Beispielprojekt zum Senden von Benachrichtigungen verwendet wird.
Der E-Mail-Codeschnipsel kann jetzt in Ihrem Benachrichtigungsprojekt verwendet werden.
Erste Schritte mit Azure Communication Services mit der Kommunikationserweiterung für die Azure-Befehlszeilenschnittstelle zum Senden von E-Mails.
Im Rahmen dieses Schnellstarts fallen in Ihrem Azure-Konto ggf. geringfügige Kosten im Centbereich an.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine Azure-E-Mail-Communication Service-Ressource wurde erstellt und steht mit einer bereitgestellten Domäne zur Verfügung. Erste Schritte mit der Erstellung der E-Mail-Communication Service-Ressource
- Eine aktive Azure Communication Services-Ressource, die mit der E-Mail-Domäne und einer Verbindungszeichenfolge verbunden ist. Erste Schritte nach Verbinden der E-Mail-Communication Service-Ressource mit einer Azure-Communication Services-Ressource
- Die aktuelle Azure CLI
Prüfen der Voraussetzungen
- Führen Sie in einem Terminal- oder Befehlsfenster den Befehl
az --version
aus, um zu überprüfen, ob die Azure-Befehlszeilenschnittstelle und die Kommunikationserweiterung installiert sind. - 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
Hinzufügen der Erweiterung
Fügen Sie die Azure Communication Services-Erweiterung für Azure CLI mithilfe des Befehls az extension
hinzu.
az extension add --name communication
Anmelden bei der Azure-Befehlszeilenschnittstelle
Sie müssen sich bei der Azure-Befehlszeilenschnittstelle anmelden. Sie können sich beim Ausführen des az login
-Befehls vom Terminal anmelden und Ihre Anmeldeinformationen bereitstellen.
Speichern der Verbindungszeichenfolge in einer Umgebungsvariablen
Sie können die Umgebungsvariable AZURE_COMMUNICATION_CONNECTION_STRING
so konfigurieren, dass Azure CLI-Schlüsselvorgänge verwendet werden, ohne dass Sie --connection_string
zum Übergeben der Verbindungszeichenfolge verwenden müssen. Öffnen Sie zum Konfigurieren einer Umgebungsvariablen ein Konsolenfenster, und wählen Sie über die folgenden Registerkarten Ihr Betriebssystem aus. Ersetzen Sie <connectionString>
durch Ihre Verbindungszeichenfolge.
Hinweis
Speichern Sie Ihre Verbindungszeichenfolge nicht als unverschlüsselte Umgebungsvariable für Produktionsumgebungen. Dies empfiehlt sich nur für Testzwecke. Für Produktionsumgebungen sollten Sie neue Verbindungszeichenfolgen generieren. Wir empfehlen Ihnen, Verbindungszeichenfolgen zu verschlüsseln und sie regelmäßig zu ändern.
setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"
Nachdem Sie die Umgebungsvariable hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariable gelesen werden muss, z.B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.
Senden einer E-Mail-Nachricht
az communication email send
--connection-string "yourConnectionString"
--sender "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>"
--to "<emailalias@emaildomain.com>"
--subject "Welcome to Azure Communication Services Email" --text "This email message is sent from Azure Communication Services Email using Azure CLI."
Führen Sie im Code die folgenden Ersetzungen durch:
- Ersetzen Sie
<yourConnectionString>
durch Ihre Verbindungszeichenfolge. - Ersetzen Sie
<emailalias@emaildomain.com>
durch die E-Mail-Adresse, an die Sie eine Nachricht senden möchten. - Ersetzen Sie
<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>
durch die MailFrom-Adresse Ihrer überprüften Domäne.
Der obige Befehl führt auch einen Abruf für die messageId durch und gibt den Status der E-Mail-Zustellung zurück. Folgende Statuswerte sind möglich:
Statusname | 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. |
Optionale Parameter
Die folgenden optionalen Parameter sind in der Azure-Befehlszeilenschnittstelle verfügbar.
--html
kann anstelle von--text
für HTML-E-Mail-Text verwendet werden.--importance
legt den Relevanztyp für die E-Mail fest. Bekannte Werte sind: „Hoch“, „Normal“ und „Niedrig“. Der Standardwert ist „Normal“.--to
legt die Liste der E-Mail-Empfänger fest.--cc
legt E-Mail-Adressen für Empfänger*innen fest, die eine Kopie erhalten.--bcc
legt E-Mail-Adressen für Empfänger*innen fest, die eine Blindkopie erhalten.--reply-to
legt die E-Mail-Adresse für Antworten fest.--disable-tracking
gibt an, ob die Nachverfolgung der Benutzerbindung für diese Anforderung deaktiviert werden soll.--attachments
legt die Liste der E-Mail-Anhänge fest.--attachment-types
legt die Liste der E-Mail-Anhangtypen in der Reihenfolge der Anhänge fest.
Außerdem können Sie eine Liste von Empfängern mit --cc
und --bcc
verwenden, ähnlich wie --to
. Es muss mindestens ein Empfänger in --to
, --cc
oder --bcc
vorhanden sein.
Machen Sie die ersten Schritte mit Azure Communication Services, indem Sie die C#-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 | In dieser Klasse wird eine E-Mail-Anlage erstellt, indem eine eindeutige ID, eine MIME-Typ-Zeichenfolge für die E-Mail-Anlage, binäre Daten für Inhalte und eine optionale Inhalts-ID akzeptiert werden, um sie als Inline-Anlage zu definieren. |
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*innen der E-Mail-Nachricht, einschließlich optionaler Listen für CC- und BCC-Empfänger*innen. |
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
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Die aktuelle Version der .NET Core-Clientbibliothek für Ihr Betriebssystem.
- Eine E-Mail-Communication Service-Ressource wurde in Azure erstellt und steht mit einer bereitgestellten Domänen zur Verfügung Erste Schritte mit dem Erstellen einer E-Mail-Communication Service-Ressource
- Eine aktive Communication Services-Ressource, die mit der E-Mail-Domäne und einer Verbindungszeichenfolge verbunden ist. Erste Schritte nach Verbinden der E-Mail-Ressource mit einer Kommunikationsressource
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);
Hinweis
Es wird empfohlen, das manuelle Abrufen (Senden von E-Mails mit asynchronem Statusabruf) zum Senden von E-Mails zu verwenden.
Einfaches Senden von E-Mails
Erstellen Ihrer E-Mail-Nachricht
Zum Senden einer E-Mail-Nachricht müssen Sie diese Schritte ausführen:
- Den Betreff und Textkörper Ihrer E-Mail festlegen.
- Ihre Absenderadresse definieren. Verfassen Sie Ihre E-Mail-Nachricht mit den Absenderinformationen, die Sie von der MailFrom-Adresse Ihrer überprüften Domäne erhalten.
- Die Empfängeradresse definieren.
- Die SendAsync-Methode aufrufen. Fügen Sie in Program.cs am Ende der Methode
Main
den folgenden Code hinzu:
Fügen Sie Ihre Domänendetails hinzu, und ändern Sie den Inhalt und die Empfängerdaten wie gewünscht.
//Replace with your domain and modify the content, recipient details as required
var subject = "Welcome to Azure Communication Service Email APIs.";
var htmlContent = "<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>";
var sender = "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net";
var recipient = "emailalias@contoso.com";
Senden und Abrufen des E-Mail-Sendestatus
Wenn Sie SendAsync mit Azure.WaitUntil.Started aufrufen, kehrt Ihre Methode nach dem Starten des Vorgangs zurück. Die Methode gibt ein EmailSendOperation-Objekt zurück. Sie können die UpdateStatusAsync-Methode aufrufen, um den E-Mail-Betriebsstatus zu aktualisieren.
Das zurückgegebene EmailSendOperation-Objekt enthält ein EmailSendStatus-Objekt, das Folgendes enthält:
- Aktueller Status des E-Mail-Sendevorgangs.
- Ein Fehlerobjekt mit Fehlerdetails, wenn sich der aktuelle Status ein fehlerbehafteter Zustand ist.
/// Send the email message with WaitUntil.Started
EmailSendOperation emailSendOperation = await emailClient.SendAsync(
Azure.WaitUntil.Started,
sender,
recipient,
subject,
htmlContent);
/// Call UpdateStatus on the email send operation to poll for the status
/// manually.
try
{
while (true)
{
await emailSendOperation.UpdateStatusAsync();
if (emailSendOperation.HasCompleted)
{
break;
}
await Task.Delay(100);
}
if (emailSendOperation.HasValue)
{
Console.WriteLine($"Email queued for delivery. Status = {emailSendOperation.Value.Status}");
}
}
catch (RequestFailedException ex)
{
Console.WriteLine($"Email send failed with Code = {ex.ErrorCode} and Message = {ex.Message}");
}
/// 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}");
Führen Sie die Anwendung mit dem Befehl dotnet run
aus dem Anwendungsverzeichnis aus.
dotnet run
Beispielcode
Sie können die Beispiel-App 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 | In dieser Klasse wird eine E-Mail-Anlage erstellt, indem eine eindeutige ID, eine MIME-Typ-Zeichenfolge für die E-Mail-Anlage, binäre Daten für Inhalte und eine optionale Inhalts-ID akzeptiert werden, um sie als Inline-Anlage zu definieren. |
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*innen der E-Mail-Nachricht, einschließlich optionaler Listen für CC- und BCC-Empfänger*innen. |
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
- Node.js (~14).
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine Azure-E-Mail-Communication Service-Ressource wurde erstellt und steht mit einer bereitgestellten Domäne zur Verfügung. Erste Schritte mit der Erstellung der E-Mail-Communication Service-Ressource
- Eine aktive Azure Communication Services-Ressource, die mit der E-Mail-Domäne und einer Verbindungszeichenfolge verbunden ist. Erste Schritte nach Verbinden der E-Mail-Communication Service-Ressource mit einer Azure-Communication Services-Ressource
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.
Einfaches Senden von E-Mails
Senden einer E-Mail-Nachricht
Rufen Sie zum Senden einer E-Mail-Nachricht die beginSend
-Funktion über den EmailClient auf. Diese Methode gibt einen Poller zurück, der den Status des Vorgangs überprüft und das Ergebnis abruft, sobald er abgeschlossen ist.
async function main() {
const POLLER_WAIT_TIME = 10
try {
const message = {
senderAddress: "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>",
content: {
subject: "Welcome to Azure Communication Services Email",
plainText: "This email message is sent from Azure Communication Services Email using the JavaScript SDK.",
},
recipients: {
to: [
{
address: "<emailalias@emaildomain.com>",
displayName: "Customer Name",
},
],
},
};
const poller = await emailClient.beginSend(message);
if (!poller.getOperationState().isStarted) {
throw "Poller was not started."
}
let timeElapsed = 0;
while(!poller.isDone()) {
poller.poll();
console.log("Email send polling in progress");
await new Promise(resolve => setTimeout(resolve, POLLER_WAIT_TIME * 1000));
timeElapsed += 10;
if(timeElapsed > 18 * POLLER_WAIT_TIME) {
throw "Polling timed out.";
}
}
if(poller.getResult().status === KnownEmailSendStatus.Succeeded) {
console.log(`Successfully sent the email (operation id: ${poller.getResult().id})`);
}
else {
throw poller.getResult().error;
}
} catch (e) {
console.log(e);
}
}
main();
Führen Sie im Code die folgenden Ersetzungen durch:
- Ersetzen Sie
<emailalias@emaildomain.com>
durch die E-Mail-Adresse, an die Sie eine Nachricht senden möchten. - Ersetzen Sie
<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>
durch die MailFrom-Adresse Ihrer überprüften Domäne.
Ausführen des Codes
Verwenden Sie den node-Befehl, um den Code auszuführen, den Sie der Datei „send-email.js“ hinzugefügt haben.
node ./send-email.js
Beispielcode
Sie können die Beispiel-App 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 | In dieser Schnittstelle wird eine E-Mail-Anlage erstellt, indem eine eindeutige ID, eine MIME-Typ-Zeichenfolge für die E-Mail-Anlage, eine Zeichenfolge mit Inhaltsbytes und eine optionale Inhalts-ID akzeptiert werden, um sie als Inline-Anlage zu definieren. |
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
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Java Development Kit (JDK), Version 8 oder höher.
- Apache Maven.
- Eine bereitgestellte Communication Services-Ressource und eine Verbindungszeichenfolge. Ausführlichere Informationen hierzu finden Sie unter Erstellen einer Communication Services-Ressource.
- Erstellen Sie eine Azure Email Communication Services-Ressource, um mit dem Senden von E-Mails zu beginnen.
- Eine verwaltete Setupidentität für eine Entwicklungsumgebung. Weitere Informationen finden Sie unter Autorisieren des Zugriffs mit der verwalteten Identität.
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.*;
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 synchronen 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();
Um einen asynchronen 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>";
EmailAsyncClient emailClient = new EmailClientBuilder()
.connectionString(connectionString)
.buildAsyncClient();
Der Einfachheit halber werden Verbindungszeichenfolgen verwendet. In Produktionsumgebungen sollten jedoch Dienstprinzipale verwendet werden.
Einfaches Senden von E-Mails
Eine E-Mail-Nachricht kann mithilfe des EmailMessage
-Objekts im SDK erstellt werden.
EmailMessage message = new EmailMessage()
.setSenderAddress("<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>")
.setToRecipients("<emailalias@emaildomain.com>")
.setSubject("Welcome to Azure Communication Services Email")
.setBodyPlainText("This email message is sent from Azure Communication Services Email using the Java SDK.");
Führen Sie im Code die folgenden Ersetzungen durch:
- Ersetzen Sie
<emailalias@emaildomain.com>
durch die E-Mail-Adresse, an die Sie eine Nachricht senden möchten. - Ersetzen Sie
<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>
durch die MailFrom-Adresse Ihrer überprüften Domäne.
Rufen Sie zum Senden der E-Mail-Nachricht die beginSend
-Funktion über EmailClient
auf.
Durch den Aufruf von beginSend
auf dem synchronen Client wird ein SyncPoller
-Objekt zurückgegeben, das verwendet werden kann, um den Status des Vorgangs zu überprüfen und das Ergebnis abzurufen, sobald er abgeschlossen ist. Beachten Sie, dass die anfängliche Anforderung zum Senden einer E-Mail gesendet wird, sobald die beginSend
-Methode aufgerufen wird. Beim Senden einer E-Mail handelt es sich um einen zeitintensiven Vorgang. Es ist wichtig zu beachten, dass die getFinalResult()
-Methode für den Poller ein blockierender Vorgang ist, bis ein Endzustand (SUCCESSFULLY_COMPLETED
oder FAILED
) erreicht ist. Die empfohlene Methode besteht im manuellen Abfragen in einem Intervall, das für Ihre Anwendungsanforderungen geeignet ist, wie im folgenden Beispiel gezeigt:
try
{
SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message, null); // This will send out the initial request to send an email
PollResponse<EmailSendResult> pollResponse = null;
Duration timeElapsed = Duration.ofSeconds(0);
Duration POLLER_WAIT_TIME = Duration.ofSeconds(10);
// Polling is done manually to avoid blocking the application in case of an error
while (pollResponse == null
|| pollResponse.getStatus() == LongRunningOperationStatus.NOT_STARTED
|| pollResponse.getStatus() == LongRunningOperationStatus.IN_PROGRESS)
{
pollResponse = poller.poll();
System.out.println("Email send poller status: " + pollResponse.getStatus());
Thread.sleep(POLLER_WAIT_TIME.toMillis());
timeElapsed = timeElapsed.plus(POLLER_WAIT_TIME);
if (timeElapsed.compareTo(POLLER_WAIT_TIME.multipliedBy(18)) >= 0)
{
throw new RuntimeException("Polling timed out.");
}
}
if (poller.getFinalResult().getStatus() == EmailSendStatus.SUCCEEDED)
{
System.out.printf("Successfully sent the email (operation id: %s)", poller.getFinalResult().getId());
}
else
{
throw new RuntimeException(poller.getFinalResult().getError().getMessage());
}
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
}
Ausführen des Codes
Navigieren Sie zum Verzeichnis, das die Datei pom.xml enthält, und kompilieren Sie das Projekt mithilfe des Befehls
mvn
.mvn compile
Erstellen Sie das Paket.
mvn package
Führen Sie die App mit dem folgenden
mvn
-Befehl aus.mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
Beispielcode
Sie können die Beispiel-App 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 E-Mail-SDK für Python von Azure Communication Services.
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
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Python 3.7+.
- Eine Azure-E-Mail-Communication Service-Ressource wurde erstellt und steht mit einer bereitgestellten Domäne zur Verfügung. Erste Schritte mit der Erstellung der E-Mail-Communication Service-Ressource
- Eine aktive Azure Communication Services-Ressource, die mit der E-Mail-Domäne und einer Verbindungszeichenfolge verbunden ist. Erste Schritte nach Verbinden der E-Mail-Communication Service-Ressource mit einer Azure-Communication Services-Ressource
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
Ö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
Navigieren Sie zum Stammverzeichnis der virtuellen Umgebung, und aktivieren Sie sie mit den folgenden Befehlen.
cd email-quickstart .\Scripts\activate
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.
Einfaches Senden von E-Mails
Senden einer E-Mail-Nachricht
Zum Senden einer E-Mail-Nachricht müssen Sie diese Schritte ausführen:
- Erstellen Sie die Nachricht mit den folgenden Werten:
senderAddress
: Eine gültige E-Mail-Absenderadresse im Feld MailFrom im Übersichtsbereich der Domäne, die mit Ihrer Email Communication Services-Ressource verknüpft ist.recipients
: Ein Objekt mit einer Liste von E-Mail-Empfänger*innen und optional Listen von CC- und BCC-E-Mail-Empfänger*innen.content
: Ein Objekt, das den Betreff und optional den Klartext- oder HTML-Inhalt einer E-Mail-Nachricht enthält.
- Rufen Sie die begin_send-Methode auf, die das Ergebnis des Vorgangs zurückgibt.
message = {
"content": {
"subject": "This is the subject",
"plainText": "This is the body",
"html": "<html><h1>This is the body</h1></html>"
},
"recipients": {
"to": [
{
"address": "<emailalias@emaildomain.com>",
"displayName": "Customer Name"
}
]
},
"senderAddress": "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>"
}
poller = email_client.begin_send(message)
print("Result: " + poller.result())
Führen Sie im Code die folgenden Ersetzungen durch:
- Ersetzen Sie
<emailalias@emaildomain.com>
durch die E-Mail-Adresse, an die Sie eine Nachricht senden möchten. - Ersetzen Sie
<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>
durch die MailFrom-Adresse Ihrer überprüften Domäne.
Abrufen des Status der E-Mail-Übermittlung
Wir können den Status der E-Mail-Übermittlung abfragen, indem wir eine Schleife für das Vorgangsstatusobjekt festlegen, das von der EmailClient-Methode begin_send
zurückgegeben wird:
POLLER_WAIT_TIME = 10
try:
email_client = EmailClient.from_connection_string(connection_string)
poller = email_client.begin_send(message);
time_elapsed = 0
while not poller.done():
print("Email send poller status: " + poller.status())
poller.wait(POLLER_WAIT_TIME)
time_elapsed += POLLER_WAIT_TIME
if time_elapsed > 18 * POLLER_WAIT_TIME:
raise RuntimeError("Polling timed out.")
if poller.result()["status"] == "Succeeded":
print(f"Successfully sent the email (operation id: {poller.result()['id']})")
else:
raise RuntimeError(str(poller.result()["error"]))
except Exception as ex:
print(ex)
Ausführen des Codes
Führen Sie die Anwendung mit dem Befehl python
aus dem Anwendungsverzeichnis aus.
python send-email.py
Beispielcode
Sie können die Beispiel-App von GitHub herunterladen.
Voraussetzungen
Ein Azure-Konto mit einem aktiven Abonnement oder kostenloses Azure-Konto erstellen.
Eine aktive Azure Communication Services-Ressource oder eine Communication Services-Ressource erstellen.
Eine aktive Azure Logic Apps-Ressource (Logik-App) und ein Workflow, oder erstellen einer neuen Logik-App-Ressource und einem Workflow mit dem Trigger, den Sie verwenden wollen. Derzeit bietet der E-Mail-Connector von Azure Communication Services nur Aktionen, sodass Ihr Logik-App-Workflow mindestens einen Trigger erfordert. Sie können entweder Verbrauchs- oder Standard-Logik-App-Ressourcen erstellen.
Eine E-Mail-Ressource von Azure Communication Services mit einer konfigurierten Domäne oder einer benutzerdefinierten Domäne.
Eine Azure Communication Services-Ressource, die mit einer Azure-E-Mail-Domäne verbunden ist.
E-Mail senden
Um Ihrem Workflow mithilfe des Email-Connectors für Azure Communication Services einen neuen Schritt hinzuzufügen, führen Sie die folgenden Schritte durch:
Öffnen Sie im Designer Ihren Logik-App-Workflow.
Verbrauch
Wählen Sie unter dem Schritt, in dem Sie die neue Aktion hinzufügen möchten, die Option Neuer Schritt aus. Alternativ können Sie die neue Aktion zwischen den Schritten hinzufügen, indem Sie den Mauszeiger über den Pfeil zwischen diesen Schritten bewegen, das Pluszeichen (+) und dann die Option Aktion hinzufügen auswählen.
Wählen Sie unter dem Suchfeld Vorgang auswählen die Option Premium aus. Geben Sie im Suchfeld Azure-Kommunikations-E-Mail ein.
Wählen Sie in der Aktionsliste E-Mail senden aus.
Standard
Wählen Sie unter dem Schritt, in dem Sie die neue Aktion hinzufügen möchten, das Pluszeichen (+) aus. Alternativ können Sie die neue Aktion zwischen den Schritten hinzufügen, indem Sie den Mauszeiger über den Pfeil zwischen diesen Schritten bewegen, das Pluszeichen (+) und dann die Option Aktion hinzufügen auswählen.
Wählen Sie unter dem Suchfeld Aktion hinzufügen im Runtime-Dropdownmenü Premium aus. Geben Sie im Suchfeld Azure-Kommunikations-E-Mail ein.
Wählen Sie in der Aktionsliste E-Mail senden aus.
Geben Sie einen Namen für die Verbindung an.
Geben Sie die Verbindungszeichenfolge für Ihre Azure Communications Service-Ressource ein. Führen Sie die folgenden Schritte aus, um diese Zeichenfolge zu suchen:
Öffnen Sie im Azure-Portal Ihre Azure Communication Service-Ressource.
Wählen Sie im Ressourcenmenü unter Einstellungen die Option Schlüssel aus, und kopieren Sie die Verbindungszeichenfolge.
Wählen Sie Erstellen, wenn Sie fertig sind.
Verwenden Sie im Feld Von die E-Mail-Adresse, die Sie in den Voraussetzungen konfiguriert haben. Geben Sie die Werte für die Felder An E-Mail, Betreff und Text ein, beispielsweise:
Speichern Sie den Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.
Testen Ihres Workflows
Je nachdem, ob Sie über einen Verbrauchs- oder Standardworkflow verfügen, starten Sie Ihren Workflow manuell:
- Verbrauch: Wählen Sie auf der Symbolleiste des Designers Trigger ausführen>Ausführen aus.
- Standard: Wählen Sie im Menü „Workflow“ die Option Übersicht aus. Wählen Sie auf der Symbolleiste Trigger ausführen>Ausführen aus.
Der Workflow erstellt einen Benutzer, gibt ein Zugriffstoken für diesen Benutzer aus und entfernt dann das Token und löscht den Benutzer. Sie können die Ausgaben dieser Aktionen überprüfen, nachdem der Workflow erfolgreich ausgeführt wurde.
Sie sollten eine E-Mail an die angegebene Adresse erhalten. Sie können auch die Aktion Status der E-Mail-Nachrichten abrufen verwenden, um den Status von E-Mails zu überprüfen, die über die Aktion E-Mail senden gesendet wurden. Weitere Aktionen finden Sie in der Dokumentation zum E-Mail-Connector von Azure Communication Services.
Bereinigen von Workflow-Ressourcen
Um die Logik-App-Ressource, den Workflow und die zugehörigen Ressourcen zu bereinigen, lesen Sie die Abschnitte Bereinigen der Verbrauchs-Logik-App-Ressourcen oder Bereinigen der Standard-Logik-App-Ressourcen.
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
Um ein Communication Services-Abonnement zu bereinigen und zu entfernen, können Sie die Ressource oder Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen zugeordneten Ressourcen gelöscht. Weitere Informationen zum Bereinigen von Ressourcen finden Sie hier.
Nächste Schritte
In diesem Schnellstart haben Sie erfahren, wie Sie E-Mails mithilfe von Azure Communication Services senden. Weitere Möglichkeiten:
- Erfahren Sie mehr über E-Mail-Konzepte.
- Machen Sie sich mit der E-Mail-Clientbibliothek vertraut.
- Weitere Informationen zum Senden einer Chat-Nachricht von Power Automate mithilfe von Azure Communication Services.
- Erfahren Sie mehr über das Einchecken mit Zugriffstoken unter Erstellen und Verwalten von Azure Communication Services-Benutzern und -Zugriffstoken.