# QlikView で OAuth 2.0 を使用してメールを送信する

QlikView は、Microsoft 365 で OAuth 2.0 を使用して Microsoft Graph 経由で電子メールを送信できます。OAuth 2.0は追加のメール接続方式であり、既存のSMTP設定も引き続き利用可能です。

OAuth 2.0 が選択されている場合、QlikView は SMTP サーバーに直接接続しません。`login.microsoftonline.com`からアクセストークンを取得し、`graph.microsoft.com/v1.0/users/{sender}/sendMail`のMicrosoft Graph REST APIを介してメールを送信します。

## 前提条件

QlikView を構成する前に、Microsoft Entra ID にアプリケーションを登録します:

1. Azure portal にサインインし、Microsoft Entra ID &gt; アプリの登録 &gt; 新規登録 に移動します。
2. アプリケーションを登録します。
3. 証明書とシークレット で、クライアント シークレットを作成し、その値をコピーします。値は一度だけ表示されます。
4. API のアクセス許可で、Microsoft Graph の Mail.Send アプリケーションの許可を追加します。
5. アクセス許可に管理者の同意を付与します。
6. アプリケーション (クライアント) ID とディレクトリ (テナント) ID を記録します。

アプリケーションには、送信者として使用されるメールボックスに対する Mail.Send アクセス許可が必要です。

## セキュリティ

QlikView は、テナント ID、クライアント ID、およびクライアント シークレットを保存する前に暗号化します。認証情報はプレーンテキストとして保存されません。

## OAuth 2.0 メールのテスト

設定ページのテストメール コントロールを使用します:

* QlikView Desktop で、ユーザー基本設定 &gt; メール ページの テスト をクリックします。
* QlikView 管理コンソールで、テスト電子メールの送信先 にアドレスを入力し、送信 をクリックします。

QlikView は OAuth 2.0 トークンを取得し、Microsoft Graph を通じてテスト メールを送信します。ステップが失敗した場合は、エラーメッセージを確認してください。

## 添付ファイル

QlikView が添付ファイル付きの電子メールを送信する場合、Microsoft Graph リクエストに添付ファイルを Base64 でエンコードされたコンテンツとしてインラインで含めます。各添付ファイルは 3 MB に制限されています。サイズの大きいファイルの場合は、別の配信方法を使用してください。

## トラブルシューティング

| エラー | 原因 | 解像度 |
| --- | --- | --- |
| `OAuth 2.0 Client ID, Tenant ID, and Client Secret are required.` | 1 つ以上の OAuth フィールドが空です。 | メール設定ページで3つのフィールドがすべて入力されていることを確認します。 |
| `OAuth token request failed: AADSTS7000215` | クライアントシークレットが無効です。 | Microsoft Entra ID で新しいクライアント シークレットを生成し、QlikView を更新します。 |
| `OAuth token request failed: AADSTS700016` | アプリケーション (クライアント) ID が正しくないか、指定されたテナントにアプリケーションが存在しません。 | アプリケーション (クライアント) ID とディレクトリ (テナント) ID を確認します。 |
| `Graph sendMail failed: ErrorAccessDenied` | アプリケーションに `Mail.Send` アクセス許可がないか、管理者の同意が付与されていません。 | Microsoft Entra ID で `Mail.Send` アプリケーションのアクセス許可を追加し、管理者の同意を付与します。 |
| `Graph sendMail failed: ErrorItemNotFound` | 送信者アドレスが、テナント内の有効なメールボックスに対応していません。 | 差出人アドレスが既存の Microsoft 365 メールボックスと一致していることを確認してください。 |
| `Attachment too large` | 添付ファイルが 3 MB のインライン制限を超えています。 | ファイルサイズを小さくするか、別の配信方法を使用してください。 |