Microsoft 365 Graph API を使用して .NET アプリでメールを送信する方法
メッセージ作成、OAuth2 認証、ファイル添付に対応した安全なメール送信機能を .NET アプリケーションに統合します。
ダウンロード无料トライアルMicrosoft 365 Graph API を使用した C# でのメール送信
Microsoft Graph API を .NET アプリケーションに統合することで、開発者は Microsoft 365 サービスを介したメッセージ送信プロセスを効率化できます。 .NET 用 Aspose.Email このプロセスを簡素化し、添付ファイルの処理、追跡、セキュアな通信などの高度な機能を提供します。ライブラリを使用すると、.NET アプリケーションから直接、パーソナライズされた高性能のメール通信を作成・配信できます。
Aspose.Email と Microsoft Graph の主な利点
SMTP や基本認証は不要 - 安全な最新トークンベース認証 (OAuth2) を使用します。
Microsoft 365 と Outlook の統合 - Microsoft 365 のメールボックスやサービスに簡単に接続できます。
エンタープライズ対応 .NET 開発者向け - スケーラビリティ、信頼性、企業メールワークフローを考慮して設計されています。
完全管理 API - 外部依存なし - すべてが一つの .NET ライブラリに含まれ、Graph SDK やサードパーティ クライアントは不要です。
.NET Framework と .NET Core / .NET 6+ をサポート - 最新およびレガシー .NET 環境と互換性があります。
最小構成での迅速なデプロイ - サンプルコード付きの使いやすい API で素早く実装できます。
コードサンプル
Aspose.Email の組み込み Graph クライアントを使用して、Microsoft 365 のメール送信を .NET アプリケーションに簡単に統合できます。
メール送信サンプルコード - C#
var client = GraphClient.GetClient(authProvider);
var message = new MailMessage(...);
client.Send(message);
仕組み
Microsoft Graph は RESTful Web API で、Microsoft 365 のサービスにアクセスでき、メール送信も可能です。Microsoft Graph 経由でメールを送信する際は、HTTP POST を使用して /sendMail エンドポイントにメッセージペイロードを送ります。このペイロードは通常、受信者、件名、本文などのメッセージ内容と添付ファイルを含む JSON オブジェクトです。
リクエストを受け取ると、MS Graph はそれを処理し、HTTP ステータスコードで応答します。送信が成功すると 202 Accepted が返され、メッセージが配送キューに入ったことを示します。これらのレスポンスを処理することで、開発者は通信の成功を確認したり、問題が発生した場合にデバッグできます。
Microsoft Graph リクエストの認証
Microsoft Graph の呼び出しは単なる HTTP リクエストの送信だけではなく、まず認証を処理する必要があります。Graph API は Azure Active Directory (Azure AD) によって保護されており、リクエストを行う前にアクセストークンを取得しなければなりません。このアクセストークンは、認証プロセスで付与された権限に基づき、実行できる操作を指定します。
認証するには、まず Azure AD でアプリ登録を作成し、必要な権限を定義し、適切な OAuth フローを使用してアクセストークンを要求します。トークンを取得したら、リクエストに含めます。 Authorization リクエストのヘッダー。
Aspose.Email for .NET はアクセストークンの取得と管理のプロセスを簡素化し、アプリケーションが Microsoft Graph と安全にやり取りできるようにします。その実装により ITokenProvider インターフェイスを使用すると、開発者は認証に必要な OAuth 2.0 トークンを効率的に取得できます。Azure ポータルでアプリ登録を設定し、Mail.Send などの必要な権限を付与すると、開発者はライブラリ機能を利用してアプリケーションに豊富なメール機能を組み込むことができます。
まずは以下の基本手順から始めます:
- アプリケーションを登録 Azure ポータルで、次のような権限を付与します。
Mail.Sendメール送信用 - アクセストークンの取得: 実装する ITokenProvider Aspose.Email for .NET のインターフェイスを使用して、認証に必要な OAuth 2.0 トークンを取得します。
- Aspose.Email for .NET をインストール via NuGet またはそれをダウンロードして DLL ファイル。
これらの手順に従えば、コーディングを始める準備が整います。
Microsoft Graph のリクエストとレスポンスの理解
リクエスト: メッセージの件名、本文、受信者情報、添付ファイルなどのデータは JSON 形式で構造化されます。Send メソッドが呼び出されると、これらのデータはシリアライズされ、Microsoft Graph の /sendMail エンドポイントへ POST リクエストとして送信されます。
レスポンス: Graph API のレスポンスはステータスコードとして返されます。202 Accepted は送信成功を示し、401 Unauthorized や 403 Forbidden などのエラーコードは認証や権限に問題があることを示唆します。
.NET ライブラリは、Microsoft Graph などの外部サービスとやり取りする際に、リクエストの構築、送信、レスポンスの解析の組み込み機能を提供します。これらの機能により、開発者は HTTP リクエストを手動で作成したり、生の JSON レスポンスを解析したりすることなく、Microsoft 365 サービス (Outlook、カレンダー、連絡先など) との通信を効率化できます。
リクエストの構築: Aspose.Email は、リクエスト作成の複雑さを抽象化した特定のクラスやメソッドを提供し、リクエスト作成を簡素化します。たとえば、開発者は直感的な API を通じてメール、カレンダー、連絡先とやり取りでき、必要な Graph リクエストを手動で組み立てる必要がありません。
リクエストの送信: ライブラリには Microsoft Graph などのサービスへ直接リクエストを送信する組み込み機構があります。認証や HTTP メソッドを手動で処理する代わりに、Aspose.Email が裏で処理します。認証トークンやコンテンツタイプなど必要なヘッダーの追加を含み、Microsoft サービスとの円滑な通信のためにリクエストが正しくフォーマットされます。
レスポンスの解析: レスポンス解析をサポートし、生の JSON や XML を MailMessage、CalendarEvent、Contact などの構造化オブジェクトに変換できます。これにより、開発者が直接 JSON を解析する必要がなくなります。解析されたデータはアプリケーション内で即座に使用でき、統合プロセスがよりシームレスで効率的になります。
これらの機能により、開発者はメールサービスとのやり取りの複雑さを管理するのではなく、ビジネスロジックに集中できます。
OAuth2 と Aspose.Email を使用したメール送信の完全 C# コード例
以下の例は、Aspose.Email for .NET 経由で Graph API を使用してメールを送信する完全なプロセスを示しています。数行のコードで OAuth2 アクセストークンを生成し、Graph クライアントを初期化し、メッセージを作成して送信できます:
- 次のクラスのインスタンスを作成します。 IGraphClient 呼び出すことで GetClient メソッド。
- eml オブジェクトを初期化します MailMessage クラスを使用し、プロパティを設定します。
- メッセージを使用して送信 送信 ライブラリのメソッド。
完全な OAuth2 と Microsoft Graph 統合例
using Aspose.Email;
using Aspose.Email.Clients.Graph;
// Generate the access token
AccessTokenProvider tokenProvider = new AccessTokenProvider();
// Create a Graph client
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");
// Create a new message
var eml = new MailMessage(fromAddress, toAddress, subject, body);
// Send message
client.Send(eml);
添付ファイル付きメールの送信
Aspose.Email for .NET ライブラリを使用すれば、Microsoft Graph 経由で添付ファイル付きメールの送信がシンプルかつ効率的です。添付ファイルは文書、画像、PDF など任意のファイルタイプに対応し、メール本文と共に送信できます。これにより、レポートやプレゼンテーション、その他重要な文書を .NET アプリケーションから直接共有するのに最適です。
以下のコードスニペットでは、メール送信前に MailMessage オブジェクトに添付ファイルを追加しています:
メール送信サンプルコード - C#
// Add attachments to the message
Attachment attachment = new Attachment("path_to_attachment");
eml.Attachments.Add(attachment);
添付ファイルの処理方法
- 添付ファイルの読み込み: 指定されたファイルパス ("path_to_attachment") から添付ファイルを読み込みます。ローカルファイルやストリームが可能です。 添付ファイル このクラスを使用すると、任意のファイルタイプを添付でき、柔軟性が高まります。
- メールへの追加: 添付ファイルを作成したら、以下を使用してメールメッセージに追加します。 Attachments.Add() メソッド。このメソッドはファイルを MailMessage オブジェクトの添付コレクションは、MS Graph 経由でメッセージが送信される際に自動的に含まれます。
- メールの送信: 添付ファイルをメッセージに追加したら、 送信 メソッドは IGraphClient インターフェイスはすべての添付ファイルと共にメールを送信します。
複数添付ファイルの処理
各ファイルごとに手順を繰り返すことで、複数の添付ファイルを簡単に追加できます。複数ファイルの添付方法は次のとおりです:
Attachment attachment1 = new Attachment("file1.pdf");
Attachment attachment2 = new Attachment("image.png");
eml.Attachments.Add(attachment1);
eml.Attachments.Add(attachment2);
添付ファイルのサイズ制限
Microsoft Graph はメールメッセージのサイズ制限を設けていることに注意してください。添付ファイルを含むメール全体のサイズは 25 MB を超えてはいけません。より大きなファイルを送信する必要がある場合は、OneDrive などのクラウドストレージにアップロードし、ファイルリンクを送信することを検討してください。
もっと知りたいですか?Microsoft Graph の完全サポートを探索してください
Aspose.Email for .NET は Graph API を介した拡張された Microsoft 365 統合を提供します。また以下も可能です:
フォルダー、メッセージ、下書きを管理する
添付ファイルやカテゴリを扱う
連絡先、カレンダーイベント、ノートブックなどを操作する
フル機能を探索 Microsoft Graph の機能.