Udostępnij za pośrednictwem


Dodawanie domen zarządzanych platformy Azure do usługi komunikacji e-mail

W tym artykule opisano sposób aprowizowania domen zarządzanych platformy Azure na potrzeby usługi komunikacji e-mail w usługach Azure Communication Services. Nie są naliczane opłaty za aprowizowanie domen poczty e-mail.

Wymagania wstępne

Skonfiguruj domenę zarządzaną Azure

  1. Otwórz stronę Przegląd zasobu usługi komunikacji poczty e-mail utworzonego w temacie Wprowadzenie do tworzenia zasobu komunikacji poczty e-mail.

  2. Utwórz domenę zarządzaną platformy Azure przy użyciu jednej z następujących opcji.

    • (Opcja 1) Kliknij przycisk dodawanie jednym kliknięciem w obszarze Dodaj bezpłatną domenę podrzędną Azure. Przejdź do kroku 3.

    Zrzut ekranu przedstawiający dodawanie bezpłatnej domeny zarządzanej platformy Azure.

    • (Opcja 2) Kliknij pozycję Aprowizuj domeny na panelu nawigacyjnym po lewej stronie.

    Zrzut ekranu przedstawiający stronę nawigacyjną Provision Domains.

    • Kliknij pozycję Dodaj domenę na górnym pasku nawigacyjnym.
    • Z listy rozwijanej wybierz pozycję Domena platformy Azure.
  3. Zaczekaj na zakończenie wdrażania.

    Zrzut ekranu przedstawiający postęp wdrażania.

  4. Po utworzeniu domeny zostanie wyświetlony widok listy z nową domeną.

    Zrzut ekranu przedstawiający listę zaaprowizowanych domen poczty e-mail.

  5. Kliknij nazwę aprowizowanej domeny, aby otworzyć stronę przeglądu dla typu zasobu domeny.

    Zrzut ekranu przedstawiający stronę przeglądu domeny zarządzanej platformy Azure.

Wymagania wstępne

Tworzenie zasobu domeny

Aby utworzyć zasób domeny, zaloguj się do interfejsu wiersza polecenia platformy Azure. Możesz zalogować się, uruchamiając polecenie z poziomu terminalu az login i podając swoje poświadczenia. Aby utworzyć zasób, uruchom następujące polecenie:

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

Jeśli chcesz wybrać określoną subskrypcję, możesz również określić flagę --subscription i podać identyfikator subskrypcji.

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

Zasób domeny można skonfigurować przy użyciu następujących opcji:

  • Grupa zasobów
  • Nazwa zasobu usług komunikacji poczty e-mail.
  • Lokalizacja geograficzna do skojarzenia z zasobem.
  • Nazwa zasobu domeny:
    • W przypadku domen platformy Azure wartość musi mieć wartość AzureManagedDomain.
  • Wartość właściwości zarządzania domeną.
    • W przypadku domen platformy Azure wartość musi mieć wartość AzureManaged.

W następnym kroku można przypisać tagi do zasobu domeny. Tagi mogą służyć do organizowania zasobów domeny. Aby uzyskać więcej informacji na temat tagów, zobacz dokumentację tagowania zasobów.

Zarządzanie zasobem domeny

Aby dodać tagi do zasobu domeny, uruchom następujące polecenia. Możesz również wybrać konkretną subskrypcję.

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>"

Aby wyświetlić listę wszystkich zasobów domeny w danej usłudze komunikacji poczty e-mail, użyj następującego polecenia:

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

Aby wyświetlić wszystkie informacje dotyczące danego zasobu domeny, użyj następującego polecenia:

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

Czyszczenie zasobu domeny

Jeśli chcesz wyczyścić i usunąć zasób domeny, możesz go usunąć przy użyciu następującego polecenia.

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

Uwaga

Usuwanie zasobów jest trwałe i nie można odzyskać żadnych danych, w tym filtrów usługi Event Grid, numerów telefonów lub innych danych powiązanych z zasobem.

Aby uzyskać informacje na temat innych poleceń, zobacz Interfejs wiersza polecenia domeny.

Wymagania wstępne

Instalacja zestawu SDK

Najpierw uwzględnij zestaw SDK zarządzania usługami komunikacyjnymi w projekcie języka C#:

using Azure.ResourceManager.Communication;

Identyfikator subskrypcji

Musisz znać identyfikator subskrypcji platformy Azure. Uzyskaj swój identyfikator z portalu:

  1. Zaloguj się do konta platformy Azure.
  2. Wybierz pozycję Subskrypcje na pasku bocznym po lewej stronie.
  3. Wybierz dowolną wymaganą subskrypcję.
  4. Kliknij pozycję Przegląd.
  5. Wybierz swój identyfikator subskrypcji.

W tym przykładzie przyjęto założenie, że identyfikator subskrypcji jest przechowywany w zmiennej środowiskowej o nazwie AZURE_SUBSCRIPTION_ID.

Uwierzytelnianie

Aby komunikować się z zasobem domeny, musisz najpierw uwierzytelnić się na platformie Azure.

Uwierzytelnianie klienta

Domyślną opcją utworzenia uwierzytelnionego klienta jest użycie DefaultAzureCredential. Ponieważ wszystkie interfejsy API zarządzania przechodzą przez ten sam punkt końcowy, aby wchodzić w interakcje z zasobami, musisz utworzyć tylko jeden najwyższy poziom ArmClient.

Aby uwierzytelnić się na platformie Azure i utworzyć element ArmClient, uruchom następujący kod:

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);

Interakcja z zasobami platformy Azure

Dla każdego z poniższych przykładów przypisujemy zasoby domeny do istniejącej usługi komunikacji poczty e-mail.

Jeśli musisz utworzyć usługę komunikacji e-mail, użyj witryny Azure Portal.

Tworzenie zasobu domeny

Podczas tworzenia zasobu domeny należy określić nazwę grupy zasobów, nazwę usługi komunikacji e-mail, nazwę zasobu i zarządzanie domeną.

Uwaga

Właściwość Location to zawsze 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}");

Zarządzanie zasobami domeny

Aktualizowanie zasobu domeny

...
// 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}");

Lista według usługi poczty e-mail

// 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");

Pobierz zasób domeny

// 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}");

Czyszczenie zasobu domeny

// 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");

Uwaga

Usuwanie zasobów jest trwałe i nie można odzyskać żadnych danych, w tym filtrów usługi Event Grid, numerów telefonów lub innych danych powiązanych z zasobem.

Wymagania wstępne

Tworzenie zasobu domeny

Aby utworzyć zasób domeny, zaloguj się do swojego konta platformy Azure, korzystając z poniższego polecenia Connect-AzAccount i wprowadź swoje poświadczenia.

PS C:\> Connect-AzAccount

Najpierw zainstaluj moduł Az.Communication Azure Communication Services przy użyciu następującego polecenia.

PS C:\> Install-Module Az.Communication

Uruchom następujące polecenie, aby utworzyć zasób domeny zarządzanej platformy Azure:

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

Zasób domeny można skonfigurować przy użyciu następujących opcji:

  • Grupa zasobów
  • Nazwa zasobu usług komunikacji poczty e-mail.
  • Nazwa zasobu domeny:
    • W przypadku domen platformy Azure nazwa musi mieć wartość AzureManagedDomain.
  • Wartość właściwości zarządzania domeną.
    • W przypadku domen platformy Azure wartość musi mieć wartość AzureManaged.

W następnym kroku można przypisać tagi do zasobu domeny. Tagi mogą służyć do organizowania zasobów domeny. Aby uzyskać więcej informacji na temat tagów, zobacz dokumentację tagowania zasobów.

Zarządzanie zasobem domeny

Aby dodać tagi do zasobu domeny, uruchom następujące polecenia. Możesz również wybrać konkretną subskrypcję.

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

Aby wyświetlić listę wszystkich zasobów domeny w danej usłudze komunikacji poczty e-mail, użyj następującego polecenia:

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

Aby wyświetlić listę wszystkich informacji dotyczących danego zasobu domeny, użyj następującego polecenia:

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

Czyszczenie zasobu domeny

Jeśli chcesz wyczyścić i usunąć zasób domeny, możesz usunąć zasób domeny, uruchamiając następujące polecenie:

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

Uwaga

Usuwanie zasobów jest trwałe i nie można odzyskać żadnych danych, w tym filtrów usługi Event Grid, numerów telefonów lub innych danych powiązanych z zasobem.

Domeny zarządzane platformy Azure w porównaniu z domenami niestandardowymi

Przed aprowizowaniem domeny zarządzanej platformy Azure zapoznaj się z poniższą tabelą, aby zdecydować, który typ domeny najlepiej spełnia Twoje potrzeby.

Domeny zarządzane platformy Azure Domeny niestandardowe
Zalety: — Instalacja jest szybka i łatwa
— Nie jest wymagana weryfikacja domeny
— Wiadomości e-mail są wysyłane z własnej domeny
Wady: — Domena nadawcy nie jest spersonalizowana i nie można jej zmienić
— Nie można personalizować nazw użytkowników nadawcy
- Bardzo ograniczona ilość wysyłania woluminu
— Nie można włączyć śledzenia zaangażowania użytkowników
— Wymaga weryfikacji rekordów domeny
— Dłuższa konfiguracja na potrzeby weryfikacji

Limity usługi

Zarówno domeny zarządzane platformy Azure, jak i domeny niestandardowe podlegają limitom usług. Limity usługi obejmują limity błędów, szybkości i rozmiaru. Aby uzyskać więcej informacji, zobacz Limity usług dla usług Azure Communication Services > poczty e-mail.

Uwierzytelnianie nadawcy dla domeny zarządzanej platformy Azure

Usługi Azure Communication Services automatycznie konfigurują wymagane protokoły uwierzytelniania poczty e-mail zgodnie z opisem w Najlepsze praktyki dotyczące uwierzytelniania poczty e-mail.

Domena poczty e-mail jest teraz gotowa do wysyłania wiadomości e-mail.

Następne kroki