Azure Yönetilen Etki Alanlarını E-posta İletişim Hizmetine Ekleme

Bu makalede, Azure İletişim Hizmetleri'nde E-posta İletişim Hizmeti için Azure Yönetilen Etki Alanlarının nasıl sağlandığı açıklanır. E-posta alan adlarının sağlanması için ücret alınmaz.

Önkoşullar

Azure Yönetilen Etki Alanı sağlama

  1. E-posta İletişimi Kaynağı Oluşturmaya Başlama bölümünde oluşturduğunuz E-posta İletişim Hizmeti kaynağının Genel Bakış sayfasını açın.

  2. Aşağıdaki seçeneklerden birini kullanarak bir Azure Yönetilen Etki Alanı oluşturun.

    • (Seçenek 1) 1 tıklamayla ekle düğmesine, Ücretsiz Azure alt etki alanı ekle'nin altında tıklayın. 3. adıma geçin.

    Ücretsiz Azure Yönetilen Etki Alanı ekleme işlemini vurgulayan ekran görüntüsü.

    • (Seçenek 2) Sol gezinti panelinde Etki Alanları Sağla'ya tıklayın.

    Etki Alanları Ayarlama gezinti sayfasını gösteren ekran görüntüsü.

    • Üst gezinti çubuğunda Etki alanı ekle'ye tıklayın.
    • Açılan listeden Azure etki alanı'nı seçin.
  3. Dağıtımın tamamlanmasını bekleyin.

    Dağıtım İlerleme Durumunu gösteren ekran görüntüsü.

  4. Etki alanı oluşturulduktan sonra yeni etki alanına sahip bir liste görünümü görürsünüz.

    Sağlanan e-posta etki alanlarının listesini gösteren ekran görüntüsü.

  5. Sağlanan etki alanının adına tıklayarak etki alanı kaynak türünün genel bakış sayfasını açın.

    Azure Yönetilen Etki Alanına genel bakış sayfasını gösteren ekran görüntüsü.

Önkoşullar

Domain kaynağı oluşturma

Etki alanı kaynağı oluşturmak için Azure CLI'da oturum açın. Terminalden komutunu çalıştırarak az login ve kimlik bilgilerinizi sağlayarak oturum açabilirsiniz. Kaynağı oluşturmak için aşağıdaki komutu çalıştırın:

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

Belirli bir aboneliği seçmek istiyorsanız bayrağını --subscription belirtebilir ve abonelik kimliğini belirtebilirsiniz.

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

Etki alanı kaynağınızı aşağıdaki seçeneklerle yapılandırabilirsiniz:

  • Kaynak grubu
  • E-posta İletişim Hizmetleri kaynağının adı.
  • Kaynakla ilişkilendirilecek coğrafya.
  • Etki alanı kaynağının adı:
    • Azure etki alanları için değeri olmalıdır AzureManagedDomain.
  • Etki alanı yönetimi özelliğinin değeri.
    • Azure etki alanları için değeri olmalıdır AzureManaged.

Sonraki adımda, etki alanı kaynağına etiket atayabilirsiniz. Etiketler, Etki alanı kaynaklarınızı düzenlemek için kullanılabilir. Etiketler hakkında daha fazla bilgi için kaynak etiketleme belgelerine bakın.

Alan adı kaynağınızı yönetin

Etki alanı kaynağınıza etiket eklemek için aşağıdaki komutları çalıştırın. Belirli bir aboneliği de hedefleyebilirsiniz.

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

Belirli bir E-posta İletişim Hizmetindeki Tüm Etki Alanı Kaynaklarınızı listelemek için aşağıdaki komutu kullanın:

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

Belirli bir etki alanı kaynağındaki tüm bilgileri göstermek için aşağıdaki komutu kullanın:

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

Etki alanı kaynağını temizleme

Bir Etki Alanı kaynağını temizlemek ve kaldırmak istiyorsanız, aşağıdaki komutu kullanarak silebilirsiniz.

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

Not

Kaynak silme kalıcıdır ve kaynağı silerseniz Event Grid filtreleri, telefon numaraları veya kaynağınıza bağlı diğer veriler dahil olmak üzere hiçbir veri kurtarılamaz.

Diğer komutlar hakkında daha fazla bilgi için Etki Alanı CLI’si'ne bakın.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
  • İşletim sisteminiz için en son sürüm .NET Core SDK'sı .
  • .NET Kimlik SDK'sının en son sürümünü alın.
  • .NET Yönetim SDK'sının en son sürümünü edinin.

SDK’yı yükleyin

İlk olarak, C# projenize İletişim Hizmetleri Yönetim SDK'sını ekleyin:

using Azure.ResourceManager.Communication;

Abonelik Kimliği

Azure aboneliğinizin kimliğini bilmeniz gerekir. Kimliğinizi portaldan alın:

  1. Azure hesabınızda oturum açın.
  2. Sol kenar çubuğunda Abonelikler'i seçin.
  3. Hangi aboneliğin gerekli olduğunu seçin.
  4. Genel Bakış'a tıklayın.
  5. Abonelik Kimliğinizi seçin.

Bu örnekte, abonelik kimliğini adlı AZURE_SUBSCRIPTION_IDbir ortam değişkeninde depoladığınız varsayılır.

Kimlik Doğrulaması

Etki alanı kaynağıyla iletişim kurmak için önce Azure'da kimliğinizi doğrulamanız gerekir.

İstemcinin Kimliğini Doğrulama

Kimliği doğrulanmış istemci oluşturmak için varsayılan seçenek DefaultAzureCredentialkullanmaktır. Tüm yönetim API'leri aynı uç noktadan geçtiğinden, kaynaklarla etkileşim kurmak için yalnızca bir üst düzey ArmClientoluşturmanız gerekir.

Azure'da kimlik doğrulaması yapmak ve bir ArmClientoluşturmak için aşağıdaki kodu çalıştırın:

using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Communication;
using Azure.ResourceManager.Communication.Models;
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);

Azure kaynaklarıyla etkileşim kurma

Aşağıdaki örneklerin her biri için, Etki alanı kaynaklarımızı mevcut bir E-posta iletişim hizmetine atarız.

E-posta İletişim Hizmeti oluşturmanız gerekiyorsa Azure portalını kullanın.

Etki alanı kaynağı oluşturma

Etki alanı kaynağı oluştururken kaynak grubu adını, E-posta İletişim Hizmeti adını, kaynak adını ve DomainManagement'ı belirtmeniz gerekir.

Not

Location özelliği her zaman globalşeklindedir.

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

Etki Alanı Kaynaklarınızı yönetme

Etki alanı kaynağını güncelleştirme

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

E-posta Hizmetine Göre Listele

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

Etki alanı kaynağını alma

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

Alan adı kaynağını temizleme

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

Not

Kaynak silme kalıcıdır ve kaynağı silerseniz Event Grid filtreleri, telefon numaraları veya kaynağınıza bağlı diğer veriler dahil olmak üzere hiçbir veri kurtarılamaz.

Önkoşullar

Etki alanı kaynağı oluşturma

Etki alanı kaynağı oluşturmak için aşağıdaki komutu kullanarak Connect-AzAccount Azure hesabınızda oturum açın ve kimlik bilgilerinizi sağlayın.

PS C:\> Connect-AzAccount

İlk olarak, aşağıdaki komutu kullanarak Azure İletişim Hizmetleri modülünü Az.Communication yükleyin.

PS C:\> Install-Module Az.Communication

Azure tarafından yönetilen etki alanı kaynağını oluşturmak için aşağıdaki komutu çalıştırın:

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

Etki alanı kaynağınızı aşağıdaki seçeneklerle yapılandırabilirsiniz:

  • Kaynak grubu
  • E-posta İletişim Hizmetleri kaynağının adı.
  • Etki alanı kaynağının adı:
    • Azure etki alanları için isim AzureManagedDomain olmalıdır.
  • Etki alanı yönetimi özelliğinin değeri.
    • Azure etki alanları için değeri olmalıdır AzureManaged.

Sonraki adımda, etki alanı kaynağına etiket atayabilirsiniz. Etiketler, Etki alanı kaynaklarınızı düzenlemek için kullanılabilir. Etiketler hakkında daha fazla bilgi için kaynak etiketleme belgelerine bakın.

Alan adı kaynağınızı yönetin

Etki alanı kaynağınıza etiket eklemek için aşağıdaki komutları çalıştırın. Belirli bir aboneliği de hedefleyebilirsiniz.

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

Belirli bir E-posta İletişim Hizmetindeki Tüm Etki Alanı Kaynaklarınızı listelemek için aşağıdaki komutu kullanın:

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

Belirli bir etki alanı kaynağındaki tüm bilgileri listelemek için aşağıdaki komutu kullanın:

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

Alan adı kaynağını temizleme

Bir Etki Alanı kaynağını temizlemek ve kaldırmak istiyorsanız, aşağıdaki komutu çalıştırarak Etki alanı kaynağınızı silebilirsiniz:

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

Not

Kaynak silme kalıcıdır ve kaynağı silerseniz Event Grid filtreleri, telefon numaraları veya kaynağınıza bağlı diğer veriler dahil olmak üzere hiçbir veri kurtarılamaz.

Azure Yönetilen Etki Alanları ile Özel Etki Alanları karşılaştırması

Azure Yönetilen Etki Alanı sağlamadan önce, gereksinimlerinizi en iyi karşılayan etki alanı türüne karar vermek için aşağıdaki tabloyu gözden geçirin.

Azure Yönetilen Etki Alanları Özel Etki Alanları
Avantajlar: - Kurulum hızlı ve kolaydır
- Etki alanı doğrulaması gerekmez
- E-postalar kendi etki alanınızdan gönderilir
Eksiler: - Gönderen etki alanı kişiselleştirilmiş değildir ve değiştirilemez
- Gönderen kullanıcı adları kişiselleştirilemiyor
- Çok sınırlı gönderme hacmi
- Kullanıcı Katılımı İzleme etkinleştirilemiyor
- Etki alanı kayıtlarının doğrulanmasını gerektirir
- Doğrulama için daha uzun kurulum

Hizmet sınırları

Hem Azure tarafından yönetilen etki alanları hem de Özel etki alanları hizmet sınırlarına tabidir. Hizmet sınırları hata, fiyat ve boyut sınırlarını içerir. Daha fazla bilgi için bkz. Azure İletişim Hizmetleri > E-posta için hizmet sınırları.

Azure Yönetilen Etki Alanı için gönderen kimlik doğrulaması

Azure İletişim Hizmetleri, e-posta için gerekli e-posta kimlik doğrulama protokollerini içinde açıklandığı gibi otomatik olarak yapılandırıyorE-posta Kimlik Doğrulaması en iyi yöntemleri.

E-posta etki alanınız artık e-posta göndermeye hazırdır.

Sonraki adımlar

  • E-posta istemci kitaplığı hakkında bilgi edinin.
  • Azure İletişim Hizmetleri E-posta için > Hizmet sınırları'nda e-posta hata sınırlarını, hız sınırlarını ve boyut sınırlarını gözden geçirin.
  • Hızlı Başlangıç: Özel doğrulanmış e-posta etki alanları ekleme başlığı altında özel doğrulanmış etki alanlarıyla e-posta göndermeyi öğrenin.