この記事のポイント
Azure Communication ServicesとEmail Communication Servicesの設定手順を画像付きで解説
PythonのSDKとSMTPリレーの2つの送信方法を紹介
カスタムドメインのDKIM・SPF・DMARC認証設定を解説
料金は従量課金制で、1通あたり約0.04円、1MBあたり約0.02円(2026年3月時点)
SendGrid無料枠廃止やExchange Online Basic Auth廃止を受けた移行先としても有効

Microsoft MVP・AIパートナー。LinkX Japan株式会社 代表取締役。東京工業大学大学院にて自然言語処理・金融工学を研究。NHK放送技術研究所でAI・ブロックチェーンの研究開発に従事し、国際学会・ジャーナルでの発表多数。経営情報学会 優秀賞受賞。シンガポールでWeb3企業を創業後、現在は企業向けAI導入・DX推進を支援。
Azureからメールを送信するには、Azure Communication Servicesのメール機能を利用するのが推奨される方法です。
従量課金制で1通あたり約0.04円と低コストで、SMTPリレーやPython SDKなど複数の送信方法に対応しています。
本記事では、Azure Communication Servicesのメール環境構築からPythonでの送信テスト、SMTPリレー、カスタムドメイン認証設定、料金体系までを一通り解説します。
Azure Communication Servicesの概要についてはこちらの記事もご覧ください。
✅Microsoft 365 Copilotの最新エージェント機能「Copilot Cowork」については、以下の記事をご覧ください。
Copilot Coworkとは?機能や料金、Claude Coworkとの違いを解説
目次
Azure Communication Servicesのメール機能とは
Azure Communication Servicesリソースの作成
Email Communication Servicesリソースの作成
Azure Communication ServicesのSMTPリレー機能
SPF(Sender Policy Framework)の設定
DKIM(DomainKeys Identified Mail)の設定
DMARC(Domain-based Message Authentication)の設定
Azure Communication Servicesの活用シーン
Azure Communication Servicesのメール機能とは
Microsoft Azureからメールを送信するには、Azure Communication Services(ACS)のメール機能を利用するのが推奨される方法です。ACSは音声・ビデオ・チャット・SMS・メールを統合的に扱える通信プラットフォームで、そのメール機能を担うのがEmail Communication Servicesです。
このセクションでは、ACSメール機能の概要と、他のメール送信手段との違いを整理します。
ACSメール機能の特徴
Azure Communication Servicesのメール機能には、以下の特徴があります。
-
従量課金制
初期費用やサブスクリプション料金が不要で、送信したメール通数とデータ転送量に応じて課金されます。小規模な通知メールから大量配信まで、利用量に合わせたコスト管理が可能です。
-
複数の送信方法に対応
Python・.NET・JavaなどのSDKに加え、SMTPリレーにも対応しています。既存のアプリケーションからSMTP経由でメールを送信する構成にも対応できるため、移行の選択肢が広がります。
-
送信認証と到達率の向上
カスタムドメインを設定し、DKIM・SPF・DMARCの認証を構成できます。これにより、受信者のメールサービス側でスパム判定されるリスクを低減し、メールの到達率を高められます。
-
配信ステータスの追跡
メールの送信結果(成功・失敗・バウンス等)をほぼリアルタイムで確認でき、Azure Monitorと連携した監視も可能です。
Azure上の他のメール送信手段との違い
Azureからメールを送信する方法はACS以外にもあります。以下の表でそれぞれの特徴を比較します。
| 送信手段 | 概要 | 推奨度 |
|---|---|---|
| Azure Communication Services Email | Azure標準のメール送信サービス。SDK・SMTP対応 | 推奨 |
| Twilio SendGrid(Azure Marketplace) | サードパーティのメール配信サービス。無料枠は60日間の試用に変更済み | 条件付き |
| Exchange Online(Microsoft 365) | ビジネスメール向け。2026年3月よりBasic認証のSMTP AUTHが廃止 | 限定的 |
| Azure VMからの直接SMTP送信 | 仮想マシンから外部ドメインへ直接送信 | 非推奨 |
ここで注目すべきは、Azure VMからの直接SMTP送信はMicrosoftが推奨していないという点です。AzureではIPアドレスをプール管理しており、過去の利用者によるスパム送信でブラックリストに登録されたIPが割り当てられる可能性があります。業務用のメール送信には、ACSのメール機能を利用してください。
Azureメール送信環境の構築手順
Azure Communication Servicesでメールを送信するには、ACSリソースとEmail Communication Servicesリソースの2つを作成し、ドメインを接続する必要があります。このセクションでは、Azure Portalでの操作手順を画像付きで解説します。
Azure Communication Servicesリソースの作成
まず、Azure Communication Servicesのリソースを作成します。Azure Portalで「Communication Services」を検索し、「作成」をクリックしてください。
Azure Communication Servicesのアイコン
使用するサブスクリプションとリソースグループ、データの場所を選択し、任意のリソース名を入力します。データの場所は「Japan」を選択するとJapan Eastリージョンにデプロイされます。入力後、「レビューと作成」から「作成」の順にクリックします。
Communication Servicesの作成画面
以下のようにデプロイが完了すれば、ACSリソースの作成は完了です。
Communication Servicesのデプロイ完了画面
Email Communication Servicesリソースの作成
次に、Email Communication Servicesのリソースを作成します。Azure Portalで「Email Communication Services」を検索し、同様に「作成」をクリックしてください。
Email Communication Servicesのアイコン
ACSリソースと同じサブスクリプション・リソースグループを選択し、「確認と作成」から「作成」の順でクリックします。
Email Communication Servicesの作成画面
以下のようにデプロイが完了すれば、Email Communication Servicesリソースの作成は完了です。

Email Communication Servicesのデプロイ完了画面
ドメインの設定と接続
最後に、メール送信に使用するドメインを設定します。Email Communication Servicesリソースを開き、ドメインの追加方法を選択します。
-
Azureサブドメイン(無料)
テスト用途に適しており、「1クリックで追加」ですぐに利用できます。送信元アドレスはDoNotReply@xxxxxxxx.azurecomm.netの形式になります。
-
カスタムドメイン
本番運用では独自ドメインの使用を推奨します。送信元アドレスに自社ドメインを使用でき、ブランドの信頼性を高められます。
ドメイン設定の方法選択
今回はテスト用にAzureサブドメインを追加します。「1クリックで追加」をクリックすると、以下のようにドメインが追加されます。
ドメインの追加完了画面
次に、先ほど作成したAzure Communication Servicesリソースを開き、左メニューの「メール」から「ドメイン」を選択し、「ドメインを接続する」をクリックします。
ドメインの接続方法
Email Communication Servicesリソースと追加したドメインを選択し、「接続」をクリックします。
ドメイン接続の設定画面
正しくドメインが接続されると、以下のように完了通知が表示されます。これでメール送信の基本環境が整いました。
ドメイン接続の完了画面
PythonによるAzureメール送信の実装
環境構築が完了したら、実際にメールを送信してみましょう。Azure Communication ServicesにはPython・.NET・Java・JavaScriptのSDKが用意されています。このセクションではPythonを使用したメール送信の手順を解説します。
SDKのインストール
まず、ターミナル(黒い画面)で以下のコマンドを実行し、ACSのメール用SDKをインストールします。
pip install azure-communication-email
メール送信コード
以下のPythonコードでメールを送信できます。
from azure.communication.email import EmailClient
def main():
try:
connection_string = "YOUR_CONNECTION_STRING"
client = EmailClient.from_connection_string(connection_string)
message = {
"senderAddress": "DoNotReply@<from_domain>",
"recipients": {
"to": [{"address": "<to_email>" }],
},
"content": {
"subject": "テスト メール",
"plainText": "メールで Hello World。",
}
}
poller = client.begin_send(message)
result = poller.result()
print("メールが正常に送信されました。")
except Exception as ex:
print(f"エラーが発生しました: {ex}")
if __name__ == "__main__":
main()
コード中の3箇所を自分の環境に合わせて変更してください。
-
YOUR_CONNECTION_STRING
Azure Communication Servicesリソースの「キー」セクションにある接続文字列です。Azure Key Vaultで管理することを推奨します。
-
from_domain
前のステップで設定したドメイン名です。Azureサブドメインの場合はxxxxxxxx.azurecomm.netの形式になります。
-
to_email
送信先のメールアドレスです。
コードを実行すると、以下のように受信者にメールが届きます。
実際に届いたメール
このように、数十行のコードでAzureからのメール送信を実装できます。本番環境では接続文字列を環境変数やKey Vaultで管理し、HTML形式のメール本文やCC・BCCの設定、添付ファイルの追加といった拡張も可能です。
Azure Communication ServicesのSMTPリレー機能
Azure Communication Servicesは、SDK経由での送信に加えてSMTPリレーにも対応しています。SMTPリレーを利用すると、既存のアプリケーションやサーバーからSMTPプロトコルでメールを送信でき、コードの変更を最小限に抑えた移行が可能です。
SMTPリレーの接続情報
SMTPリレーの接続先は以下のとおりです。
| 項目 | 設定値 |
|---|---|
| SMTPサーバー | smtp.azurecomm.net |
| ポート | 587 |
| 暗号化 | TLS必須 |
| 認証 | Microsoft Entra ID(OAuth 2.0) |
従来のSMTPサーバーと異なり、Basic認証(ユーザー名・パスワード)ではなくMicrosoft Entra IDによるOAuth 2.0認証が必要です。これにより、認証情報の漏洩リスクを低減しつつ、組織のアクセスポリシーに準拠したメール送信が実現します。
SMTPリレーの主な利用シーン
SMTPリレーは、以下のような場面で特に有効です。
-
レガシーアプリケーションの移行
Exchange OnlineのBasic認証廃止(2026年3月)に伴い、SMTP AUTHを利用していたアプリケーションの移行先として活用できます。
-
マルチプラットフォームからの送信
Linux環境やオンプレミスのサーバーからAzure経由でメールを送信する場合に、SDKの導入なしでSMTPプロトコルのみで対応できます。
-
大量配信の基盤
B2C向けの通知メールやマーケティングメールなど、大量配信の基盤としても利用できます。配信ステータスの追跡と組み合わせることで、到達率の管理も可能です。
SMTPリレーの詳細な設定手順については、Microsoft公式ドキュメントを参照してください。
Azureメール送信のカスタムドメインと認証設定
本番環境でメールを送信する場合は、カスタムドメインの設定と送信者認証の構成が重要です。適切な認証設定により、メールの到達率が向上し、なりすましやフィッシングの防止にもつながります。
カスタムドメインの追加手順
カスタムドメインを追加するには、Email Communication Servicesリソースで「カスタムドメインを追加」を選択します。追加後、以下の3種類のDNSレコードを設定します。
SPF(Sender Policy Framework)の設定
SPFは、送信元のメールサーバーが正規のものであることを受信側が検証するための仕組みです。Azure Communication Servicesでは、DNS上にTXTレコードとして指定されたSPFレコードを追加する必要があります。
Azure Communication ServicesはSPFレコードの完全一致を要求する点に注意が必要です。複数のincludeメカニズムやマクロを含むSPFレコードはサポートされていません。
DKIM(DomainKeys Identified Mail)の設定
DKIMは、メールに電子署名を付与し、送信後に内容が改ざんされていないことを受信側が検証する仕組みです。Azure Communication Servicesが指定するCNAMEレコードをDNSに追加することで設定できます。
DMARC(Domain-based Message Authentication)の設定
DMARCは、SPFとDKIMの検証結果に基づいて、認証に失敗したメールの処理方法を受信側に指示する仕組みです。SPFとDKIMの両方を設定したうえでDMARCポリシーを追加することで、なりすましメールに対する防御を強化できます。
以下の表で3つの認証技術の役割を整理します。
| 認証技術 | 目的 | DNS設定 |
|---|---|---|
| SPF | 送信元サーバーの正当性を証明 | TXTレコード |
| DKIM | メール内容の改ざん検知 | CNAMEレコード |
| DMARC | SPF/DKIMの検証失敗時のポリシー定義 | TXTレコード |
3つの認証をすべて設定することで、メールの信頼性と到達率が大幅に向上します。認証設定の詳細な手順はMicrosoft公式のベストプラクティスガイドを参照してください。
Azure Communication Servicesの活用シーン

Azure Communication Servicesのメール機能は、さまざまなビジネスシーンで活用できます。主な利用シーンを紹介します。
顧客通知・マーケティング配信
新商品の発売情報やセール告知など、マーケティング関連の情報を顧客に一斉送信する際に活用できます。ECサイトの入荷通知、イベント案内、会員向けの特別オファーなどが代表的な例です。大量配信にも対応しているため、SendGridからの移行先としても適しています。
アカウント管理の自動通知
ユーザーアカウントに関連する重要な通知を自動送信できます。新規ユーザー登録時のウェルカムメール、パスワードリセット通知、アカウント情報の更新確認メールなど、セキュリティに関わる通知を安全に配信できます。
トランザクション通知
取引や処理の状況を即時にユーザーに通知できます。注文確認メール、商品発送通知、支払い完了通知などが該当します。SDKやSMTPリレーを使えば、既存の業務システムやAzure Logic Apps、Power Automateと連携した自動通知も構築できます。
カスタマーサポート
サポートチケットの自動返信、問い合わせ内容の確認メール、フォローアップ通知など、顧客対応の効率化にも活用できます。配信ステータスの追跡機能を使えば、メールが確実に届いているかの確認も容易です。
【無料DL】AI業務自動化ガイド(220P)
Microsoft環境でのAI活用を徹底解説
Microsoft環境でのAI業務自動化・AIエージェント活用の完全ガイドです。Azure OpenAI、AI Agent Hub、n8nを活用した業務効率化の実践方法を詳しく解説します。
Azure Communication Servicesの料金体系
Azure Communication Servicesのメール機能は、完全従量課金制で提供されています。初期費用やサブスクリプション料金は不要で、実際に送信したメール数とデータ転送量に応じて課金されます。
メール送信の課金要素
メール送信の課金は、以下の2つの要素で構成されます。
| 課金項目 | 単価(2026年3月時点) |
|---|---|
| メール1通あたり | $0.00025(約0.04円) |
| データ転送1MBあたり | $0.00012(約0.02円) |
上記の価格はグローバル共通の従量課金です。日本円での請求額は為替レートにより変動します。
料金のシミュレーション
たとえば、1MBのメールを100人に毎日送信する場合、30日間の料金は以下のとおりです。
-
メール通数料金
100通 x 30日 = 3,000通 x $0.00025 = $0.75(約113円)
-
データ転送料金
1MB x 3,000通 = 3,000MB x $0.00012 = $0.36(約54円)
-
合計
約$1.11(約167円)
このように、月間3,000通のメール送信でも200円未満に収まります。大量配信が必要な企業にとっても、コスト効率の高い選択肢といえます。
最新の料金はAzure Communication Servicesの価格ページで確認できます。料金の見積もりにはAzure料金計算ツールも活用してください。Azureの料金体系の全体像についてはこちらの記事で解説しています。
まとめ
本記事では、Azure Communication Servicesを使ったメール送信環境の構築方法を解説しました。
Azure Communication Servicesのメール機能は、低コストの従量課金制、SDK・SMTPリレー対応の柔軟な送信方法、カスタムドメインと認証設定によるメール到達率の向上が主な特徴です。SendGridの無料枠廃止やExchange OnlineのBasic認証終了を受けて、Azure標準のメール送信サービスとしての重要性が増しています。
まずはAzureサブドメインでテスト送信を行い、本番運用ではカスタムドメインとDKIM・SPF・DMARCの認証設定を追加することを推奨します。Azureの無料アカウントを使えば、初期費用なしでメール送信機能を試すことが可能です。












