株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

Azure Communication Servicesでメールの送受信をする Part2 ~SMTPユーザーの作成、パスワードの管理、送信メールアドレスの追加、メール送信のレート管理方法~

皆様こんにちは!

ネットワールドでAWSやMicrosoftのクラウド製品を担当しているSEの碇です。

本日は、以前ご説明したAzure Communication Servicesというサービスについて、SMTPユーザーの作成、パスワードの管理、送信メールアドレスの追加、メール送信のレート管理方法をご説明します。

前回のブログはこちら:

blogs.networld.co.jp

 

作業の流れ

Part1でご説明した作業と合わせてまとめると、以下の通りとなります。
Part1では、1~3までご説明しました。

1.Azure Communication Servicesの作成

まずは、Azure Communication Servicesを作成します。
Azure Communication Servicesは、メールのシステムを入れる箱のような役割です。
これ以降は、ACSと略称で記載させていただきます。

2.Email Communication Servicesの作成
ACSでメールの送受信を行うためには、Email Communication Servicesを作成し、ACSと連携する必要があります。
これ以降は、ECSと略称で記載させていただきます。

3.メールドメインの追加

ドメインは、Azureマネージドドメイン、カスタムドメインから選ぶことができます。Azureマネージドドメインは無料で取得できますが、制限事項が多くあります。

詳しくはMicrosoft learnのドキュメントをご確認ください。
電子メール通信サービスに Azure マネージド ドメインを追加する - An Azure Communication Services quick start guide | Microsoft Learn

今回は、カスタムドメインで作成する方法をご説明します。

4.SMTPユーザーの作成

メールアドレスの作成のために、SMTPユーザーを作成します。

5.SMTPパスワードの管理

クライアントシークレットを作成し、SMTPパスワードを管理します。
SMTPパスワードの有効期限は基本的に最長2年です。

6.送信メールアドレス

カスタムドメインの場合、送信メールアドレスを追加することができます。
Azureマネージドドメインではdonotreply@someone.comのメールアドレスでしか送信することができません。

7.メール送信のレート管理

カスタムドメインの場合、メールの送信数の管理をすることができます。
メールの送信数の既定値は下記の通りです。

Azure Communication Services のサービス制限 - An Azure Communication Services article | Microsoft Learn

なお、一度メールを送信しないとレートを追加することはできません。

Part2では、「4.SMTPユーザーの作成~7.メール送信のレート管理」についてご説明いたします。
Part2については、初期導入時と合わせて、運用時(メールアドレスの追加やメール送信レートの追加時)にも必要になる手順となりますので、ぜひご覧ください。

導入手順

4.SMTPユーザーの作成

SMTPユーザーの作成にあたり必要な作業内容は主に以下の2点となります。
①アプリの登録
②SMTPユーザーの作成

①アプリの登録

Azureポータルサイトの上部にある、検索バーをクリックし、Entra IDを検索します。Microsoft Entra IDをクリックします。

Microsoft Entra IDをクリック

アプリの登録をクリックし、新規登録またはアプリケーションの登録をクリックします。
下記画面は新規登録の画面となります。

アプリの登録

登録名、サポートされているアカウントの種類を選択し、登録をクリックします。
今回は、リダイレクトURIは省略しています。

アプリケーションの登録

 

②SMTPユーザーの作成

Azureポータルサイトの上部にある、検索バーをクリックし、Communication Servicesを検索します。Communication Servicesをクリックします。

Communication Servicesをクリック

1.Azure Communication Servicesの作成で作成したACSをクリックし、メール>SMTPユーザー名>Add SMTP Usernameの順にクリックします。

Add SMTP Usernameをクリック

下記の設定値を入力し、Saveをクリックします。

・Entra Application:①アプリの登録で登録したアプリケーション
・Username Type:Custom textまたはEmailから選択します。下記の設定例はEmailです。
・Username:作成したいSMTPユーザー名を入力します。

Create custom SMTP Username

作成したSMTPユーザーを確認し、Statusが「Ready to use」になっていることを確認します。

Statusが「Ready to use」となっていることを確認

作成したSMTPユーザーを送信メールアドレスにするには、別途送信メールアドレスの作成が必要です。
送信メールアドレスの作成は、6.送信メールアドレスに記載しています。

 

5.SMTPパスワードの管理

SMTPパスワードは、Azureポータルでクライアントシークレットを作成することで管理することができます。
Azureポータル上で作成する場合は期限が最長2年となり、期限が切れると再作成する必要があります。

 

[補足]
過去は無期限のクライアントシークレットを作成できたようですが、現在は作成できません。
しかし、コマンドを利用することで"実質"無期限とすることは現在も可能なようです。

詳しくはMicrosoftのブログをご確認ください。
クライアント シークレット作成画面の変更について | Japan Azure Identity Support Blog


ここでは、Azureポータル上でクライアントシークレットを作成する方法をご説明します。
Azureポータルサイトの上部にある、検索バーをクリックし、Entra IDと検索します。Microsoft Entra IDをクリックします。

Microsoft Entra IDをクリック

アプリの登録をクリックし、すべてのアプリケーションをクリックします。
4.SMTPユーザーの作成>①アプリの登録で設定したものをクリックします。

アプリの作成

 

管理>証明書とシークレット>クライアントシークレット>新しいクライアントシークレットをクリックします。

新しいクライアントシークレットをクリック

クライアントシークレットの追加画面が表示されるので、説明(名前)と有効期限を入力し、追加をクリックします。

クライアントシークレットの追加画面

6.送信メールアドレス

カスタムドメインの場合、送信メールアドレスの追加が可能です。
送信メールアドレスを追加する方法を記載します。

Azureポータルサイトの上部にある、検索バーをクリックし、Email Communication Servicesと検索します。
Email Communication Servicesをクリックします。

Email Communication Servicesをクリック

この後の手順を、作成したい送信メールアドレス分繰り返します。

2.Email Communication Servicesの作成で作成したECSをクリックし、メールアドレスを追加したいドメインをクリックします。

作成したECSのドメインをクリック

左側のナビゲーションの [MailFrom Addresses]リンクをクリックします。
既定の donotreply を含む、現在のMailFrom アドレスの一覧が表示されます。

MailFrom Addressesをクリック

Addをクリックします。

Addをクリック

表示名[Display name]と送信メールアドレス[MailFrom address]を入力し、Saveをクリックします。

Add MailFrom addressをクリック

Saveをクリックすると、新たに追加された送信メールアドレスが一覧に表示されます。
必要な送信メールアドレス分繰り返します。

7.メール送信のレート管理

先ほど[作業の流れ]でもご説明した通り、メールが送信できる数には制限があります。
既定値は下記Microsoft公式サイトに記載があります。
Azure Communication Services のサービス制限 - An Azure Communication Services article | Microsoft Learn

既定値よりメール送信の上限を引き上げたい場合は、サポートへの要求が必要になります。
上限を引き上げるためには、下記2点の条件がございます。

①ドメインがカスタムドメインであること
②ドメインを使ってメールを1回以上送信していること

しかし、②の1回以上メールを送信している場合も、要求する送信数が大きすぎる場合はMicrosoftから却下される場合もあるので、注意が必要です。

対策としては、一度、目標値より少ないの値で上限緩和を行い、運用し、
その後もう一度目標値で上限緩和を行ってください。

それでは、サポートへの要求方法をご説明します。
まずは、希望する「1分あたりの最大メッセージレート」、「1時間あたりの最大メッセージレート」、「1日あたりの最大メッセージレート」を計算します。
その後、その値を下記の赤い部分に入力し、サポートへの要求を行います。

下記は「1分あたり30」、「1時間あたり200」、「1日あたり4000」とした場合の例となります。

Customer Information 
Company name: 
Company website: 
Provide a brief description of your business: 
 
Email Service Information 
Subscription ID: 
Azure Communication Services Resource Name: 
Is your custom domain already set up and currently used for sending messages:  
Indicate the domain from which you are currently sending emails:  
 
Usage Information
1. What type of emails do you send? (such as Transactional, Marketing, Promotional) 
2. Specify the expected volume of emails you plan to send:  
- What is the maximum rate of messages per minute that you require? :30
- What is the maximum rate of messages per hour that you require? :200
- What is the maximum rate of messages per day that you require? :4000
 
Additional Information 
What is the source of the email addresses that you use for sending your messages?
Note: The source of the email addresses that you send your messages to plays a crucial 
role in the effectiveness and compliance of your email marketing campaigns. Providing 
details about the source of your email addresses helps us understand how you acquire 
and maintain your subscriber list.
 
How do you currently manage and remove email addresses that have unsubscribed or 
resulted in bounce backs from your mailing list?
Explain if you have an automated process in place that handles unsubscribes when 
recipients click on the 'unsubscribe' link in your emails. Additionally, if you 
receive bounce/undeliverable notifications, can you include how you handle those and 
whether you have any mechanism to automatically remove email addresses that result in 
consistent bounces.

詳細は下記をご確認ください。

メール ドメインのクォータの引き上げ - An Azure Communication Services concept document | Microsoft Learn

 

まとめ

Part1、Part2とAzure Communication Servicesの概要から設定方法についてご説明してきました。

この記事が参考になれば幸いです。