クイック スタート: 管理クライアント ライブラリを使用して Azure Communication Services のドメイン抑制リストを管理する
重要
この記事で説明されている機能は、現在パブリック プレビュー段階にあります。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されており、運用環境のワークロードに使用することは推奨されません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
このクイック スタートでは、Azure Communication Services 管理クライアント ライブラリを使用して Azure Communication Services のドメイン抑制リストを管理するプロセスについて説明します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- ドメインをプロビジョニングする準備ができている Azure メール通信サービス リソース。 メール通信リソースの作成を開始します。
- Azure マネージド ドメインまたはカスタム ドメインがプロビジョニング済みで電子メール送信の準備ができていること。
- 認証用のサービス プリンシパルを使用します。 Azure Active Directory (AD) アプリケーションのクライアント ID、テナント ID、クライアント シークレットの値を次の環境変数
AZURE_CLIENT_ID
、AZURE_TENANT_ID
、AZURE_CLIENT_SECRET
として設定します。
必要なパッケージをインストールする
dotnet add package Azure.ResourceManager.Communication
dotnet add package Azure.Identity
管理クライアントを初期化する
環境変数 AZURE_SUBSCRIPTION_ID
には、ドメインとメール リソースが含まれるサブスクリプションのサブスクリプション ID を設定します。 コード サンプルを実行して、管理クライアントを初期化します。
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Communication;
ArmClient client = new ArmClient(new DefaultAzureCredential());
抑制リストをドメイン リソースに追加する
メール メッセージが特定のアドレスに送信されないようにするには、最初の手順としてドメイン リソースに抑制リストを設定します。
抑制リストを作成するリソース グループ名、メール サービス名、ドメイン リソース名でコード サンプルを更新します。 この情報は、ポータルで、前提条件を設定するときに作成したドメイン リソースに移動することで見つかります。 リソースのタイトルは <your-email-service-name>/<your-domain-name>
です。 リソース グループ名とサブスクリプション ID は、ドメイン リソースの概要の Essentials セクションにあります。 抑制リスト リソースに対して任意の名前を選択し、サンプル内のそのフィールドも更新します。
リスト名については、メールを非表示にする MailFrom アドレスの送信者ユーザー名と同じであることを確認します。 これらの MailFrom アドレスは、ポータルのドメイン リソースの [MailFrom アドレス] セクションにあります。 たとえば、"donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net" のような MailFrom アドレスがあるとします。 このアドレスの送信者のユーザー名は "donotreply" であるため、リスト名 "donotreply" を使用する必要があります。
このコード サンプルでは、抑制リストを作成し、今後操作するときのために suppressionListResource
変数に格納します。
string subscriptionId = "<your-subscription-id>"; // Found in the essentials section of the domain resource portal overview
string resourceGroupName = "<your-resource-group-name>"; // Found in the essentials section of the domain resource portal overview
string emailServiceName = "<your-email-service-name>"; // Found in the first part of the portal domain resource title
string domainResourceName = "<your-domain-name>"; // Found in the second part of the portal domain resource title
string suppressionListResourceName = "<your-suppression-list-resource-name>";
ResourceIdentifier suppressionListResourceId = SuppressionListResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName, domainResourceName, suppressionListResourceName);
SuppressionListResource suppressionListResource = client.GetSuppressionListResource(suppressionListResourceId);
SuppressionListResourceData suppressionListData = new SuppressionListResourceData()
{
ListName = "<your-sender-username>", // Should match the sender username of the MailFrom address you would like to suppress emails from
};
suppressionListResource.Update(WaitUntil.Completed, suppressionListData);
特定のドメインのすべての送信者ユーザー名からのメールを抑制する場合は、リスト名に空の文字列を渡すことができます。
SuppressionListResourceData suppressionListData = new SuppressionListResourceData()
{
ListName = "",
};
suppressionListResource.Update(WaitUntil.Completed, suppressionListData);
抑制リストにアドレスを追加する
抑制リストを設定した後、メール メッセージの送信を禁止する特定のメール アドレスを追加できるようになります。
抑制リストのアドレス ID でコード サンプルを更新します。 追加するすべての抑制リストのアドレス ID は一意である必要があります。 ゲームには GUID の使用をお勧めします。 メッセージの受信をブロックするメール アドレスも更新します。
抑制リストに複数のアドレスを追加するには、このコード サンプルを複数回繰り返す必要があります。
string suppressionListAddressId = "<your-suppression-list-address-id>";
ResourceIdentifier suppressionListAddressResourceId = SuppressionListAddressResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName, domainResourceName, suppressionListResourceName, suppressionListAddressId);
SuppressionListAddressResource suppressionListAddressResource = client.GetSuppressionListAddressResource(suppressionListAddressResourceId);
SuppressionListAddressResourceData suppressionListAddressData = new SuppressionListAddressResourceData()
{
Email = "<email-address-to-suppress>" // Should match the email address you would like to block from receiving your messages
};
suppressionListAddressResource.Update(WaitUntil.Completed, suppressionListAddressData);
Communication Service リソースの TryEmail
セクションから、またはいずれかのメール SDK を使用して、抑制されたアドレスにメールを送信してみましょう。 抑制するように選択した送信者のユーザー名を含む MailFrom アドレスを使用して、必ずメールを送信してください。 メールは、抑制されたアドレスには送信されません。
抑制されていない送信者のユーザー名からメールを送信しようとすると、そのメールは正常に送信されます。
抑制リストからアドレスを削除する
抑制リストからアドレスを削除するには、前のコード サンプルに示すように SuppressionListAddressResource
を作成し、Delete
メソッドを呼び出します。
suppressionListAddressResource.Delete(WaitUntil.Completed);
Communication Service リソースの TryEmail
セクションから、またはいずれかのメール SDK を使用して、抑制されたアドレスにメールを送信してみましょう。 抑制するように選択した送信者のユーザー名を含む MailFrom アドレスを使用して、必ずメールを送信してください。 メールは、以前に抑制されたアドレスに正常に送信されます。
ドメイン リソースから抑制リストを削除する
ドメイン リソースから抑制リストを削除するには、前のコード サンプルに示すように SuppressionListResource
を作成し、Delete
メソッドを呼び出します。
suppressionListResource.Delete(WaitUntil.Completed);
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- ドメインをプロビジョニングする準備ができている Azure メール通信サービス リソース。 メール通信リソースの作成を開始します。
- Azure マネージド ドメインまたはカスタム ドメインがプロビジョニング済みで電子メール送信の準備ができていること。
- 認証用のサービス プリンシパルを使用します。 Azure Active Directory (AD) アプリケーションのクライアント ID、テナント ID、クライアント シークレットの値を次の環境変数
AZURE_CLIENT_ID
、AZURE_TENANT_ID
、AZURE_CLIENT_SECRET
として設定します。
必要なパッケージをインストールする
npm install @azure/arm-communication
npm install @azure/identity
管理クライアントを初期化する
サンプル コードの フィールドを、ドメインと電子メール リソースが含まれるサブスクリプションのサブスクリプション ID に置き換えます。 コード サンプルを実行して、管理クライアントを初期化します。
const { CommunicationServiceManagementClient } = require("@azure/arm-communication");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const subscriptionId = "<your-subscription-id>";
const client = new CommunicationServiceManagementClient(credential, subscriptionId);
抑制リストをドメイン リソースに追加する
メール メッセージが特定のアドレスに送信されないようにするには、最初の手順としてドメイン リソースに抑制リストを設定します。
抑制リストを作成するリソース グループ名、メール サービス名、ドメイン リソース名でコード サンプルを更新します。 この情報は、ポータルで、前提条件を設定するときに作成したドメイン リソースに移動することで見つかります。 リソースのタイトルは <your-email-service-name>/<your-domain-name>
です。 リソース グループ名とサブスクリプション ID は、ドメイン リソースの概要の Essentials セクションにあります。 抑制リスト リソースに対して任意の名前を選択し、サンプル内のそのフィールドも更新します。
リスト名については、メールを非表示にする MailFrom アドレスの送信者ユーザー名と同じであることを確認します。 これらの MailFrom アドレスは、ポータルのドメイン リソースの [MailFrom アドレス] セクションにあります。 たとえば、"donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net" のような MailFrom アドレスがあるとします。 このアドレスの送信者のユーザー名は "donotreply" であるため、リスト名 "donotreply" を使用する必要があります。
const resourceGroupName = "<your-resource-group-name>"; // Found in the essentials section of the domain resource portal overview
const emailServiceName = "<your-email-service-name>"; // Found in the first part of the portal domain resource title
const domainResourceName = "<your-domain-name>"; // Found in the second part of the portal domain resource title
const suppressionListResourceName = "<your-suppression-list-resource-name>";
parameters = {
"listName": "<your-sender-username>", // Should match the sender username of the MailFrom address you would like to suppress emails from
}
await client.suppressionLists.createOrUpdate(
resourceGroupName,
emailServiceName,
domainResourceName,
suppressionListResourceName,
parameters
);
特定のドメインのすべての送信者ユーザー名からのメールを抑制する場合は、リスト名に空の文字列を渡すことができます。
parameters = {
"listName": "",
}
await client.suppressionLists.createOrUpdate(
resourceGroupName,
emailServiceName,
domainResourceName,
suppressionListResourceName,
parameters
);
抑制リストにアドレスを追加する
抑制リストを設定した後、メール メッセージの送信を禁止する特定のメール アドレスを追加できるようになります。
抑制リストのアドレス ID でコード サンプルを更新します。 追加するすべての抑制リストのアドレス ID は一意である必要があります。 ゲームには GUID の使用をお勧めします。 メッセージの受信をブロックするメール アドレスも更新します。
抑制リストに複数のアドレスを追加するには、このコード サンプルを複数回繰り返す必要があります。
const suppressionListAddressId = "<your-suppression-list-address-id>";
parameters = {
"email": "<email-address-to-suppress>" // Should match the email address you would like to block from receiving your messages
}
await client.suppressionListAddresses.createOrUpdate(
resourceGroupName,
emailServiceName,
domainResourceName,
suppressionListResourceName,
suppressionListAddressId,
parameters
);
Communication Service リソースの TryEmail
セクションから、またはいずれかのメール SDK を使用して、抑制されたアドレスにメールを送信してみましょう。 抑制するように選択した送信者のユーザー名を含む MailFrom アドレスを使用して、必ずメールを送信してください。 メールは、抑制されたアドレスには送信されません。
抑制されていない送信者のユーザー名からメールを送信しようとすると、そのメールは正常に送信されます。
抑制リストからアドレスを削除する
suppressionListAddresses
で delete
メソッドを呼び出して、抑制リストからアドレスを削除します。
await client.suppressionListAddresses.delete(
resourceGroupName,
emailServiceName,
domainResourceName,
suppressionListResourceName,
suppressionListAddressId
);
Communication Service リソースの TryEmail
セクションから、またはいずれかのメール SDK を使用して、抑制されたアドレスにメールを送信してみましょう。 抑制するように選択した送信者のユーザー名を含む MailFrom アドレスを使用して、必ずメールを送信してください。 メールは、以前に抑制されたアドレスに正常に送信されます。
ドメイン リソースから抑制リストを削除する
suppressionList
で delete
メソッドを呼び出して、ドメイン リソースから抑制リストを削除します。
await client.suppressionLists.delete(
resourceGroupName,
emailServiceName,
domainResourceName,
suppressionListResourceName
);
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- ドメインをプロビジョニングする準備ができている Azure メール通信サービス リソース。 メール通信リソースの作成を開始します。
- Azure マネージド ドメインまたはカスタム ドメインがプロビジョニング済みで電子メール送信の準備ができていること。
- 認証用のサービス プリンシパルを使用します。 Azure Active Directory (AD) アプリケーションのクライアント ID、テナント ID、クライアント シークレットの値を次の環境変数
AZURE_CLIENT_ID
、AZURE_TENANT_ID
、AZURE_CLIENT_SECRET
として設定します。
必要なパッケージをインストールする
pom.xml
に次の依存関係を追加します。
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-communication</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.11.1</version>
</dependency>
管理クライアントを初期化する
環境変数 AZURE_SUBSCRIPTION_ID
には、ドメインとメール リソースが含まれるサブスクリプションのサブスクリプション ID を設定します。
ファイルの先頭に、次のインポートを追加します。
import com.azure.core.credential.TokenCredential;
import com.azure.core.management.AzureEnvironment;
import com.azure.core.management.profile.AzureProfile;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.resourcemanager.communication.CommunicationManager;
コード サンプルを実行して、管理クライアントを初期化します。
AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
.build();
CommunicationManager manager = CommunicationManager
.authenticate(credential, profile);
抑制リストをドメイン リソースに追加する
メール メッセージが特定のアドレスに送信されないようにするには、最初の手順としてドメイン リソースに抑制リストを設定します。
抑制リストを作成するリソース グループ名、メール サービス名、ドメイン リソース名でコード サンプルを更新します。 この情報は、ポータルで、前提条件を設定するときに作成したドメイン リソースに移動することで見つかります。 リソースのタイトルは <your-email-service-name>/<your-domain-name>
です。 リソース グループ名とサブスクリプション ID は、ドメイン リソースの概要の Essentials セクションにあります。 抑制リスト リソースに対して任意の名前を選択し、サンプル内のそのフィールドも更新します。
リスト名については、メールを非表示にする MailFrom アドレスの送信者ユーザー名と同じであることを確認します。 これらの MailFrom アドレスは、ポータルのドメイン リソースの [MailFrom アドレス] セクションにあります。 たとえば、"donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net" のような MailFrom アドレスがあるとします。 このアドレスの送信者のユーザー名は "donotreply" であるため、リスト名 "donotreply" を使用する必要があります。
String resourceGroupName = "<your-resource-group-name>"; // Found in the essentials section of the domain resource portal overview
String emailServiceName = "<your-email-service-name>"; // Found in the first part of the portal domain resource title
String domainResourceName = "<your-domain-name>"; // Found in the second part of the portal domain resource title
String suppressionListResourceName = "<your-suppression-list-resource-name>";
manager.suppressionLists().define(suppressionListResourceName)
.withExistingDomain(resourceGroupName, emailServiceName, domainResourceName)
.withListName("<your-sender-username>") // Should match the sender username of the MailFrom address you would like to suppress emails from
.create();
特定のドメインのすべての送信者ユーザー名からのメールを抑制する場合は、リスト名に空の文字列を渡すことができます。
manager.suppressionLists().define(suppressionListResourceName)
.withExistingDomain(resourceGroupName, emailServiceName, domainResourceName)
.withListName("")
.create();
抑制リストにアドレスを追加する
抑制リストを設定した後、メール メッセージの送信を禁止する特定のメール アドレスを追加できるようになります。
抑制リストのアドレス ID でコード サンプルを更新します。 追加するすべての抑制リストのアドレス ID は一意である必要があります。 ゲームには GUID の使用をお勧めします。 メッセージの受信をブロックするメール アドレスも更新します。
抑制リストに複数のアドレスを追加するには、このコード サンプルを複数回繰り返す必要があります。
String suppressionListAddressId = "<your-suppression-list-address-id>";
manager.suppressionListAddresses().define(suppressionListAddressId)
.withExistingSuppressionList(resourceGroupName, emailServiceName, domainResourceName, suppressionListResourceName)
.withEmail("<email-address-to-suppress>") // Should match the email address you would like to block from receiving your messages
.create();
Communication Service リソースの TryEmail
セクションから、またはいずれかのメール SDK を使用して、抑制されたアドレスにメールを送信してみましょう。 抑制するように選択した送信者のユーザー名を含む MailFrom アドレスを使用して、必ずメールを送信してください。 メールは、抑制されたアドレスには送信されません。
抑制されていない送信者のユーザー名からメールを送信しようとすると、そのメールは正常に送信されます。
抑制リストからアドレスを削除する
suppressionListAddresses
で delete
メソッドを呼び出して、抑制リストからアドレスを削除します。
manager.suppressionListAddresses()
.delete(resourceGroupName, emailServiceName, domainResourceName, suppressionListResourceName, suppressionListAddressId);
Communication Service リソースの TryEmail
セクションから、またはいずれかのメール SDK を使用して、抑制されたアドレスにメールを送信してみましょう。 抑制するように選択した送信者のユーザー名を含む MailFrom アドレスを使用して、必ずメールを送信してください。 メールは、以前に抑制されたアドレスに正常に送信されます。
ドメイン リソースから抑制リストを削除する
suppressionLists
で delete
メソッドを呼び出して、ドメイン リソースから抑制リストを削除します。
manager.suppressionLists()
.delete(resourceGroupName, emailServiceName, domainResourceName, suppressionListResourceName);
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- ドメインをプロビジョニングする準備ができている Azure メール通信サービス リソース。 メール通信リソースの作成を開始します。
- Azure マネージド ドメインまたはカスタム ドメインがプロビジョニング済みで電子メール送信の準備ができていること。
- 認証用のサービス プリンシパルを使用します。 Azure Active Directory (AD) アプリケーションのクライアント ID、テナント ID、クライアント シークレットの値を次の環境変数
AZURE_CLIENT_ID
、AZURE_TENANT_ID
、AZURE_CLIENT_SECRET
として設定します。
必要なパッケージをインストールする
pip install azure-mgmt-communication
pip install azure-identity
管理クライアントを初期化する
環境変数 AZURE_SUBSCRIPTION_ID
には、ドメインとメール リソースが含まれるサブスクリプションのサブスクリプション ID を設定します。 コード サンプルを実行して、管理クライアントを初期化します。
from azure.mgmt.communication import CommunicationServiceManagementClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
subscription_id = "<your-subscription-id>"
mgmt_client = CommunicationServiceManagementClient(credential, subscription_id)
抑制リストをドメイン リソースに追加する
メール メッセージが特定のアドレスに送信されないようにするには、最初の手順としてドメイン リソースに抑制リストを設定します。
抑制リストを作成するリソース グループ名、メール サービス名、ドメイン リソース名でコード サンプルを更新します。 この情報は、ポータルで、前提条件を設定するときに作成したドメイン リソースに移動することで見つかります。 リソースのタイトルは <your-email-service-name>/<your-domain-name>
です。 リソース グループ名とサブスクリプション ID は、ドメイン リソースの概要の Essentials セクションにあります。 抑制リスト リソースに対して任意の名前を選択し、サンプル内のそのフィールドも更新します。
リスト名については、メールを非表示にする MailFrom アドレスの送信者ユーザー名と同じであることを確認します。 これらの MailFrom アドレスは、ポータルのドメイン リソースの [MailFrom アドレス] セクションにあります。 たとえば、"donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net" のような MailFrom アドレスがあるとします。 このアドレスの送信者のユーザー名は "donotreply" であるため、リスト名 "donotreply" を使用する必要があります。
resource_group_name = "<your-resource-group-name>"; # Found in the essentials section of the domain resource portal overview
email_service_name = "<your-email-service-name>"; # Found in the first part of the portal domain resource title
domain_resource_name = "<your-domain-name>"; # Found in the second part of the portal domain resource title
suppression_list_resource_name = "<your-suppression-list-resource-name>";
mgmt_client.suppression_lists.create_or_update(
resource_group_name,
email_service_name,
domain_resource_name,
suppression_list_resource_name,
parameters={
"properties": {
"listName": "<your-sender-username>" # Should match the sender username of the MailFrom address you would like to suppress emails from
}
},
)
特定のドメインのすべての送信者ユーザー名からのメールを抑制する場合は、リスト名に空の文字列を渡すことができます。
mgmt_client.suppression_lists.create_or_update(
resource_group_name,
email_service_name,
domain_resource_name,
suppression_list_resource_name,
parameters={
"properties": {
"listName": ""
}
},
)
抑制リストにアドレスを追加する
抑制リストを設定した後、メール メッセージの送信を禁止する特定のメール アドレスを追加できるようになります。
抑制リストのアドレス ID でコード サンプルを更新します。 追加するすべての抑制リストのアドレス ID は一意である必要があります。 ゲームには GUID の使用をお勧めします。 メッセージの受信をブロックするメール アドレスも更新します。
抑制リストに複数のアドレスを追加するには、このコード サンプルを複数回繰り返す必要があります。
suppression_list_address_id = "<your-suppression-list-address-id>";
mgmt_client.suppression_list_addresses.create_or_update(
resource_group_name,
email_service_name,
domain_resource_name,
suppression_list_resource_name,
suppression_list_address_id,
parameters={
"properties": {
"email": "<email-address-to-suppress>" # Should match the email address you would like to block from receiving your messages
}
},
)
Communication Service リソースの TryEmail
セクションから、またはいずれかのメール SDK を使用して、抑制されたアドレスにメールを送信してみましょう。 抑制するように選択した送信者のユーザー名を含む MailFrom アドレスを使用して、必ずメールを送信してください。 メールは、抑制されたアドレスには送信されません。
抑制されていない送信者のユーザー名からメールを送信しようとすると、そのメールは正常に送信されます。
抑制リストからアドレスを削除する
suppression_list_addresses
で delete
メソッドを呼び出して、抑制リストからアドレスを削除します。
mgmt_client.suppression_list_addresses.delete(
resource_group_name,
email_service_name,
domain_resource_name,
suppression_list_resource_name,
suppression_list_address_id
)
Communication Service リソースの TryEmail
セクションから、またはいずれかのメール SDK を使用して、抑制されたアドレスにメールを送信してみましょう。 抑制するように選択した送信者のユーザー名を含む MailFrom アドレスを使用して、必ずメールを送信してください。 メールは、以前に抑制されたアドレスに正常に送信されます。
ドメイン リソースから抑制リストを削除する
suppression_lists
で delete
メソッドを呼び出して、ドメイン リソースから抑制リストを削除します。
mgmt_client.suppression_lists.delete(
resource_group_name,
email_service_name,
domain_resource_name,
suppression_list_resource_name
)