AI総合研究所

SHARE

X(twiiter)にポストFacebookに投稿はてなブックマークに登録URLをコピー

Azure Communication Servicesでメールを送信する方法を解説

この記事のポイント

  • 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廃止を受けた移行先としても有効
坂本 将磨

監修者プロフィール

坂本 将磨

XでフォローフォローするMicrosoftMVP

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のメール機能とは

Microsoft Azureからメールを送信するには、Azure Communication Services(ACS)のメール機能を利用するのが推奨される方法です。ACSは音声・ビデオ・チャット・SMS・メールを統合的に扱える通信プラットフォームで、そのメール機能を担うのがEmail Communication Servicesです。

このセクションでは、ACSメール機能の概要と、他のメール送信手段との違いを整理します。

AI研修

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」を検索し、「作成」をクリックしてください。

AzureCommunicationServicesアイコンAzure Communication Servicesのアイコン

使用するサブスクリプションとリソースグループ、データの場所を選択し、任意のリソース名を入力します。データの場所は「Japan」を選択するとJapan Eastリージョンにデプロイされます。入力後、「レビューと作成」から「作成」の順にクリックします。

AzureCommunicationServices作成画面Communication Servicesの作成画面

以下のようにデプロイが完了すれば、ACSリソースの作成は完了です。

AzureCommunicationServicesデプロイ完了画面Communication Servicesのデプロイ完了画面

Email Communication Servicesリソースの作成

次に、Email Communication Servicesのリソースを作成します。Azure Portalで「Email Communication Services」を検索し、同様に「作成」をクリックしてください。

EmailCommunicationServicesアイコンEmail Communication Servicesのアイコン

ACSリソースと同じサブスクリプション・リソースグループを選択し、「確認と作成」から「作成」の順でクリックします。

EmailCommunicationServices作成画面Email Communication Servicesの作成画面

以下のようにデプロイが完了すれば、Email Communication Servicesリソースの作成は完了です。

EmailCommunicationServicesのデプロイ完了画面
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と連携した自動通知も構築できます。

カスタマーサポート

サポートチケットの自動返信、問い合わせ内容の確認メール、フォローアップ通知など、顧客対応の効率化にも活用できます。配信ステータスの追跡機能を使えば、メールが確実に届いているかの確認も容易です。

AI駆動開発


【無料DL】AI業務自動化ガイド(220P)

AI業務自動化ガイド

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の無料アカウントを使えば、初期費用なしでメール送信機能を試すことが可能です。

監修者
坂本 将磨

坂本 将磨

Microsoft MVP・AIパートナー。LinkX Japan株式会社 代表取締役。東京工業大学大学院にて自然言語処理・金融工学を研究。NHK放送技術研究所でAI・ブロックチェーンの研究開発に従事し、国際学会・ジャーナルでの発表多数。経営情報学会 優秀賞受賞。シンガポールでWeb3企業を創業後、現在は企業向けAI導入・DX推進を支援。

関連記事

AI導入の最初の窓口

お悩み・課題に合わせて活用方法をご案内いたします
お気軽にお問合せください

AI総合研究所 Bottom banner

ご相談
お問い合わせは
こちら!