Freigeben über


Hinzufügen von azure managed Domains zum E-Mail-Kommunikationsdienst

In diesem Artikel wird beschrieben, wie Azure Managed Domains for Email Communication Service in Azure Communication Services bereitgestellt werden. Es fallen keine Gebühren für die Bereitstellung von E-Mail-Domänen an.

Voraussetzungen

Bereitstellen einer von Azure verwalteten Domäne

  1. Öffnen Sie die Seite Übersicht der E-Mail-Kommunikationsdienstressource, die Sie in Erste Schritte mit der E-Mail-Kommunikationsressource erstellt haben.

  2. Erstellen Sie eine Azure Managed Domain mithilfe einer der folgenden Optionen.

    • (Option 1) Klicken Sie unter Kostenlose Azure-Unterdomäne hinzufügen auf die Schaltfläche Hinzufügen. Fahren Sie mit Schritt 3 fort.

    Screenshot: Hinzufügen einer kostenlosen verwalteten Azure-Domäne.

    • (Option 2) Klicken Sie im linken Navigationsbereich auf Domänen bereitstellen.

    Screenshot: Navigationsseite der Bereitstellungsdomänen.

    • Klicken Sie auf der oberen Navigationsleiste auf Domäne hinzufügen.
    • Wählen Sie in der Dropdownliste Azure-Domäne aus.
  3. Warten Sie, bis die Bereitstellung abgeschlossen ist.

    Screenshot, das den Verlauf der Bereitstellung zeigt.

  4. Nachdem die Domäne erstellt wurde, wird eine Listenansicht mit der neuen Domäne angezeigt.

    Screenshot: Liste der bereitgestellten E-Mail-Domänen.

  5. Klicken Sie auf den Namen der bereitgestellten Domäne, um die Seite „Übersicht“ für den Domänenressourcentyp zu öffnen.

    Screenshot: Übersichtsseite für verwaltete Azure-Domäne.

Voraussetzungen

Erstellen einer Domänenressource

Um eine Domänenressource zu erstellen, melden Sie sich bei der Azure CLI an. Sie können sich beim Ausführen des az login-Befehls vom Terminal anmelden und Ihre Anmeldeinformationen bereitstellen. Führen Sie zum Erstellen der Ressource den folgenden Befehl aus:

az communication email domain create --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --location "Global" --resource-group "<resourceGroup>" --domain-management AzureManaged

Wenn Sie ein bestimmtes Abonnement auswählen möchten, können Sie auch das --subscription Kennzeichen angeben und die Abonnement-ID angeben.

az communication email domain create --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --location "Global" --resource-group "<resourceGroup>" --domain-management AzureManaged --subscription "<subscriptionId>"

Sie können Ihre Domänenressource mit den folgenden Optionen konfigurieren:

  • Die Ressourcengruppe
  • Der Name der E-Mail-Kommunikationsdienste-Ressource.
  • Die Geografie, die der Ressource zugeordnet werden soll.
  • Der Name der Domänenressource:
    • Für Azure-Domänen muss der Wert sein AzureManagedDomain.
  • Der Wert der Verwaltungseigenschaft der Domäne.
    • Für Azure-Domänen muss der Wert sein AzureManaged.

Im nächsten Schritt können Sie der Domänenressource Tags zuweisen. Tags können verwendet werden, um Domänenressourcen zu strukturieren. Weitere Informationen zu Tags finden Sie in der Dokumentation zum Anwenden von Tags auf Ressourcen.

Verwalten Ihrer Domänenressource

Führen Sie die folgenden Befehle aus, um Tags zu Ihrer Domänenressource hinzuzufügen. Sie können auch ein bestimmtes Abonnement als Ziel haben.

az communication email domain update --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>" --tags newTag="newVal1"

az communication email domain update --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>" --tags newTag="newVal1" --subscription "<subscriptionId>"

Verwenden Sie den folgenden Befehl, um alle Ihre Domänenressourcen in einem bestimmten E-Mail Communication Service aufzulisten:

az communication email domain list --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>"

Verwenden Sie den folgenden Befehl, um alle Informationen zu einer bestimmten Domänenressource anzuzeigen:

az communication email domain show --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>"

Bereinigen der Domänenressource

Wenn Sie eine Domäne-Ressource bereinigen und entfernen möchten, können Sie sie mit dem folgenden Befehl löschen.

az communication email domain delete --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>"

Hinweis

Das Löschen von Ressourcen ist endgültig, und nach dem Löschen können keine Daten wiederhergestellt werden, auch nicht Event Grid-Filter, Telefonnummern oder andere Daten, die an Ihre Ressource gebunden sind.

Informationen zu anderen Befehlen finden Sie unter Domäne-CLI.

Voraussetzungen

Das SDK installieren

Fügen Sie zunächst die Communication Services-Verwaltungs-SDK in das C#-Projekt ein:

using Azure.ResourceManager.Communication;

Abonnement-ID

Sie müssen die ID Ihres Azure-Abonnements kennen. Erwerben Sie Ihre ID aus dem Portal:

  1. Melden Sie sich bei Ihrem Azure-Konto an.
  2. Wählen Sie "Abonnements" in der linken Randleiste aus.
  3. Wählen Sie aus, welches Abonnement erforderlich ist.
  4. Klicken Sie auf "Übersicht".
  5. Wählen Sie die ID für Ihr Abonnement aus.

In diesem Beispiel wird davon ausgegangen, dass Sie die Abonnement-ID in einer Umgebungsvariablen mit dem Namen AZURE_SUBSCRIPTION_ID gespeichert haben.

Authentifizierung

Für die Kommunikation mit einer Domänenressource müssen Sie sich zunächst bei Azure authentifizieren.

Authentifizieren des Clients

Die Standardoption zum Erstellen eines authentifizierten Clients besteht darin, DefaultAzureCredentialzu verwenden. Da alle Verwaltungs-APIs denselben Endpunkt durchlaufen, müssen Sie nur eine oberste Ebene ArmClienterstellen, um mit Ressourcen zu interagieren.

Führen Sie den folgenden Code aus, um sich bei Azure zu authentifizieren und einen ArmClientzu erstellen:

using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Communication;
using Azure.ResourceManager.Resources;
...
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);

Interaktion mit Azure-Ressourcen

Für jedes der folgenden Beispiele weisen wir unsere Domänenressourcen einem vorhandenen E-Mail-Kommunikationsdienst zu.

Wenn Sie einen E-Mail-Kommunikationsdienst erstellen müssen, verwenden Sie das Azure-Portal.

Erstellen einer Domänenressource

Beim Erstellen einer Domäne-Ressource müssen Sie den Ressourcengruppennamen, den Namen des E-Mail-Kommunikationsdiensts, den Ressourcennamen und das DomainManagement angeben.

Hinweis

Die Location -Eigenschaft ist immer global.

// this example assumes you already have this EmailServiceResource created on azure
// for more information of creating EmailServiceResource, please refer to the document of EmailServiceResource
string subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e";
string resourceGroupName = "MyResourceGroup";
string emailServiceName = "MyEmailServiceResource";
ResourceIdentifier emailServiceResourceId = EmailServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName);
EmailServiceResource emailServiceResource = client.GetEmailServiceResource(emailServiceResourceId);

// get the collection of this CommunicationDomainResource
CommunicationDomainResourceCollection collection = emailServiceResource.GetCommunicationDomainResources();

// invoke the operation
string domainName = "AzureManagedDomain";
CommunicationDomainResourceData data = new CommunicationDomainResourceData(new AzureLocation("Global"))
{
    DomainManagement = DomainManagement.AzureManaged,
};
ArmOperation<CommunicationDomainResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, domainName, data);            
CommunicationDomainResource result = lro.Value;

// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
CommunicationDomainResourceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");

Verwalten Ihrer Domänenressourcen

Aktualisieren einer Domänenressource

...
// this example assumes you already have this CommunicationDomainResource created on azure
// for more information of creating CommunicationDomainResource, please refer to the document of CommunicationDomainResource
string subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e";
string resourceGroupName = "MyResourceGroup";
string emailServiceName = "MyEmailServiceResource";
string domainName = "AzureManagedDomain";
ResourceIdentifier communicationDomainResourceId = CommunicationDomainResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName, domainName);
CommunicationDomainResource communicationDomainResource = client.GetCommunicationDomainResource(communicationDomainResourceId);

// invoke the operation
CommunicationDomainResourcePatch patch = new CommunicationDomainResourcePatch()
{
    Tags =
    {
    ["newTag"] = "newVal",
    },
};
ArmOperation<CommunicationDomainResource> lro = await communicationDomainResource.UpdateAsync(WaitUntil.Completed, patch);
CommunicationDomainResource result = lro.Value;

// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
CommunicationDomainResourceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");

Auflisten nach E-Mail-Dienst

// this example assumes you already have this EmailServiceResource created on azure
// for more information of creating EmailServiceResource, please refer to the document of EmailServiceResource
string subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e";
string resourceGroupName = "MyResourceGroup";
string emailServiceName = "MyEmailServiceResource";
ResourceIdentifier emailServiceResourceId = EmailServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName);
EmailServiceResource emailServiceResource = client.GetEmailServiceResource(emailServiceResourceId);

// get the collection of this CommunicationDomainResource
CommunicationDomainResourceCollection collection = emailServiceResource.GetCommunicationDomainResources();

// invoke the operation and iterate over the result
await foreach (CommunicationDomainResource item in collection.GetAllAsync())
{
    // the variable item is a resource, you could call other operations on this instance as well
    // but just for demo, we get its data from this resource instance
    CommunicationDomainResourceData resourceData = item.Data;
    // for demo we just print out the id
    Console.WriteLine($"Succeeded on id: {resourceData.Id}");
}

Console.WriteLine($"Succeeded");

Domänenressource abrufen

// this example assumes you already have this EmailServiceResource created on azure
// for more information of creating EmailServiceResource, please refer to the document of EmailServiceResource
string subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e";
string resourceGroupName = "MyResourceGroup";
string emailServiceName = "MyEmailServiceResource";
ResourceIdentifier emailServiceResourceId = EmailServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName);
EmailServiceResource emailServiceResource = client.GetEmailServiceResource(emailServiceResourceId);

// get the collection of this CommunicationDomainResource
CommunicationDomainResourceCollection collection = emailServiceResource.GetCommunicationDomainResources();

// invoke the operation
string domainName = "AzureManagedDomain";
bool result = await collection.ExistsAsync(domainName);

Console.WriteLine($"Succeeded: {result}");

Bereinigen einer Domänenressource

// this example assumes you already have this CommunicationDomainResource created on azure
// for more information of creating CommunicationDomainResource, please refer to the document of CommunicationDomainResource
string subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e";
string resourceGroupName = "MyResourceGroup";
string emailServiceName = "MyEmailServiceResource";
string domainName = "AzureManagedDomain";
ResourceIdentifier communicationDomainResourceId = CommunicationDomainResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName, domainName);
CommunicationDomainResource communicationDomainResource = client.GetCommunicationDomainResource(communicationDomainResourceId);

// invoke the operation
await communicationDomainResource.DeleteAsync(WaitUntil.Completed);

Console.WriteLine($"Succeeded");

Hinweis

Das Löschen von Ressourcen ist endgültig, und nach dem Löschen können keine Daten wiederhergestellt werden, auch nicht Event Grid-Filter, Telefonnummern oder andere Daten, die an Ihre Ressource gebunden sind.

Voraussetzungen

Erstellen einer Domänenressource

Um eine Domänenressource zu erstellen, melden Sie sich mit Connect-AzAccount dem folgenden Befehl bei Ihrem Azure-Konto an, und geben Sie Ihre Anmeldeinformationen an.

PS C:\> Connect-AzAccount

Installieren Sie zunächst das Azure Communication Services-Modul Az.Communication mithilfe des folgenden Befehls.

PS C:\> Install-Module Az.Communication

Führen Sie den folgenden Befehl aus, um die verwaltete Azure-Domänenressource zu erstellen:

PS C:\> New-AzEmailServiceDomain -ResourceGroupName ContosoResourceProvider1 -EmailServiceName ContosoEmailServiceResource1 -Name AzureManagedDomain -DomainManagement AzureManaged

Sie können Ihre Domänenressource mit den folgenden Optionen konfigurieren:

  • Die Ressourcengruppe
  • Der Name der E-Mail-Kommunikationsdienste-Ressource.
  • Der Name der Domänenressource:
    • Für Azure-Domänen muss der Name sein AzureManagedDomain.
  • Der Wert der Verwaltungseigenschaft der Domäne.
    • Für Azure-Domänen muss der Wert sein AzureManaged.

Im nächsten Schritt können Sie der Domänenressource Tags zuweisen. Tags können verwendet werden, um Domänenressourcen zu strukturieren. Weitere Informationen zu Tags finden Sie in der Dokumentation zum Anwenden von Tags auf Ressourcen.

Verwalten Ihrer Domänenressource

Führen Sie die folgenden Befehle aus, um Tags zu Ihrer Domänenressource hinzuzufügen. Sie können auch ein bestimmtes Abonnement als Ziel haben.

PS C:\> Update-AzEmailServiceDomain -Name AzureManagedDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1 -Tag @{ExampleKey1="ExampleValue1"}

PS C:\> Update-AzEmailServiceDomain -Name AzureManagedDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1 -Tag @{ExampleKey1="ExampleValue1"} -SubscriptionId SubscriptionID

Verwenden Sie den folgenden Befehl, um alle Ihre Domänenressourcen in einem bestimmten E-Mail Communication Service aufzulisten:

PS C:\> Get-AzEmailServiceDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1

Verwenden Sie den folgenden Befehl, um alle Informationen zu einer bestimmten Domänenressource aufzulisten:

PS C:\> Get-AzEmailServiceDomain -Name AzureManagedDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1

Bereinigen einer Domänenressource

Wenn Sie eine Domäne-Ressource bereinigen und entfernen möchten, können Sie Ihre Domäne-Ressource löschen, indem Sie den folgenden Befehl ausführen:

PS C:\> Remove-AzEmailServiceDomain -Name AzureManagedDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1

Hinweis

Das Löschen von Ressourcen ist endgültig, und nach dem Löschen können keine Daten wiederhergestellt werden, auch nicht Event Grid-Filter, Telefonnummern oder andere Daten, die an Ihre Ressource gebunden sind.

Azure Managed Domains im Vergleich zu Custom Domains

Überprüfen Sie vor der Bereitstellung einer Azure Managed Domain die folgende Tabelle, um zu entscheiden, welcher Domänentyp Ihren Anforderungen am besten entspricht.

Von Azure verwaltete Domänen Benutzerdefinierte Domains
Vorteile: - Setup ist schnell und einfach
– Keine Domänenüberprüfung erforderlich
– E-Mails werden von Ihrer eigenen Domäne gesendet
Nachteile: – Absenderdomäne ist nicht personalisiert und kann nicht geändert werden
- Benutzernamen des Absenders können nicht personalisiert werden
- Sehr begrenztes Sendevolumen
- User Engagement Tracking kann nicht aktiviert werden
– Erfordert die Überprüfung von Domänendatensätzen
– Längere Einrichtung für die Überprüfung

Diensteinschränkungen

Sowohl von Azure verwaltete Domänen als auch benutzerdefinierte Domänen unterliegen Dienstgrenzwerten. Dienstgrenzwerte umfassen Fehler-, Raten- und Größenbeschränkungen. Weitere Informationen finden Sie unter Dienstgrenzwerte für Azure Communication Services > E-Mail.

Absenderauthentifizierung für von Azure verwaltete Domäne

Azure Communication Services konfiguriert automatisch die erforderlichen E-Mail-Authentifizierungsprotokolle für die E-Mail, wie unter Bewährte Methoden für die E-Mail-Authentifizierung beschrieben.

Ihre E-Mail-Domäne ist jetzt bereit, E-Mails zu senden.

Nächste Schritte