
こんにちは。CData Software Japan の杉本です。以下の記事ではGmail を例にメールサーバとの認証にOAuth 2.0 を利用する方法を解説しておりますが、今回はOutlook(Exchange Online)を利用する場合の手順について、詳しくご紹介したいと思います。
メール通知用のメールサーバとの認証にOAuth を利用する
Microsoft 側の設定
カスタムアプリケーションの作成
Outlook(Exchange Online) の認証にOAuth を利用する場合、まずはカスタムアプリケーションを作成する必要があります。Microsoft Entra ID にログインして、アプリの登録 > 新規登録を選択します。

アプリケーションの登録画面では、アプリケーション名を入力し、サポートされているアカウントの種類で「シングルテナントのみ」を選択します。

そしてリダイレクトURL にはCData Arc やCData Sync のアラート設定画面に表示されているコールバックURL の値を登録します。

CData Arc の場合は以下より確認可能です。

CData Sync の場合は以下より確認可能です。

アプリケーションを登録したら、アプリケーション (クライアント) ID とディレクトリ (テナント) ID を控えておきます。

次に証明書とシークレットより、クライアントシークレットを作成します。

クライアントシークレットを作成して、表示された値の項目を控えておきます。クライアントシークレットの値は作成時にしか表示されないため、注意してください。

次にAPI のアクセス許可より、以下の「委任されたアクセス許可」を追加します。

テナントによっては管理者の同意が必要な場合がありますので、合わせて管理者の同意も付与ください。

SMTP AUTH の有効化
またテナントによってはSMTP AUTH の有効化が必要な場合がございます。詳細は以下のMS 側のドキュメントも合わせてご確認ください。
Exchange Online で SMTP AUTH を有効または無効にする | Microsoft Learn

具体的には以下のように「認証済 SMTP」のチェックが必要となります。

CData Arc 側の設定
作成したカスタムアプリケーションを利用するために、接続設定から以下の設定を行います。
SMTP サーバー | smtp.office365.com |
ポート | 587 |
送信元 | Outlook のメールアドレス |
暗号化の種類 | STARTTLS |
認証の仕組み | OAuth 2.0 |
ユーザー | Outlook のメールアドレス |
認証URL | https://login.microsoftonline.com/<ディレクトリ (テナント) id>/oauth2/v2.0/authorizeディレクトリ> |
アクセストークンURL | https://login.microsoftonline.com/<ディレクトリ (テナント) id>/oauth2/v2.0/tokenディレクトリ> |
クライアントID | 先ほど控えておいた「クライアントID」 |
クライアントシークレット | 先ほど生成した「クライアントシークレット」 |
スコープ | offline_access https://outlook.office.com/SMTP.Send |
必要な情報を入力した後は「認証」ボタンを押下します。

Microsoft のログイン画面が立ち上がりますので、接続設定に入力したユーザーでログインします。

認証に成功すると元の画面に戻りますので、接続設定を保存します。

そして「テストメールを送信」でメール送信が成功することを確認します。

CData Sync 側の設定
CData Sync の場合でもCData Arc と同様に接続設定から以下の設定を行います。
SMTP サーバー | smtp.office365.com |
ポート | 587 |
送信元 | Outlook のメールアドレス |
暗号化の種類 | STARTTLS |
認証の仕組み | OAuth 2.0 |
ユーザー | Outlook のメールアドレス |
認証URL | https://login.microsoftonline.com/<ディレクトリ (テナント) id>/oauth2/v2.0/authorizeディレクトリ> |
アクセストークンURL | https://login.microsoftonline.com/<ディレクトリ (テナント) id>/oauth2/v2.0/tokenディレクトリ> |
クライアントID | 先ほど控えておいた「クライアントID」 |
クライアントシークレット | 先ほど生成した「クライアントシークレット」 |
スコープ | offline_access https://outlook.office.com/SMTP.Send |
「テストメールを送信」でメール送信が成功することを確認します。

まとめ
この記事では、Outlook(Exchange Online)をメール通知用のメールサーバーとして利用する方法をご紹介しました。
製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
CData - サポートフォーム
この記事では CData Arc™ - 26.1.9568.0 / CData Sync™ - 26.1.9516.0 を利用しています。