メッセージの作成、送信、処理の自動化
Microsoft Graph では、メールは message リソースで表されます。
既定で、メッセージは id プロパティの一意のエントリ ID で識別されます。 ストア プロバイダーは、メッセージが最初に作成されて、下書きとして保存されるか送信されるときに、そのメッセージにエントリ ID を割り当てます。 既定でこの ID は、メッセージを別のフォルダー、ストア、.PST ファイルにコピーしたり移動したりすると、変更されます。 今後の処理のために、メッセージは現在の ID で参照されます。
メールを作成して送信する
Outlook では、同じ sendMail アクションでメールを作成および送信できます。また、下書きを作成してからコンテンツを追加し、その下書きを送信することもできます。
同様に、メールに返信する場合も、同じアクションで返信を送信できます (返信、全員に返信、または転送)。 また、返信の下書きを作成 (返信、全員に返信、または転送) してからコンテンツを追加し、その下書きを後で送信することもできます。
下書きと送信済みメッセージをプログラムで区別するには、isDraft プロパティを確認します。
既定では、下書きメッセージは Drafts
フォルダーに保存され、送信済みメッセージは Sent Items
フォルダーに保存されます。 利便性のため、Drafts フォルダーと SentItems フォルダーを、それぞれに対応するわかりやすいフォルダー名で指定することもできます。
from プロパティと sender プロパティの設定
メッセージの作成中、Outlook はたいてい from プロパティと sender プロパティを同じサインイン ユーザーに設定しています。 次のシナリオでは、これらのプロパティを更新できます。
- Exchange 管理者がメールボックスの sendAs 権限を他のユーザーに割り当てた場合、from プロパティを変更できます。 管理者は、Azure portalでメールボックス所有者のメールボックスのアクセス許可を選択するか、Exchange 管理 センターまたはWindows PowerShell Add-ADPermission コマンドレットを使用してこれを行うことができます。 次に、 from プロパティを、そのメールボックスの sendAs 権限を持つこれらのユーザーのいずれかにプログラムで設定できます。
- sender プロパティは、メールボックス所有者が 1 人以上のユーザーにそのメールボックスからメッセージを送信する権限を委任すると、変更できます。 メールボックス所有者は、Outlook で委任できます。 代理人がメールボックス所有者に代わってメッセージを送信する場合、Outlook は sender プロパティを代理人のアカウントに設定し、from プロパティはメールボックス所有者のままになります。 プログラムを使用して、対象メールボックスの委任アクセス許可を取得したユーザーに sender プロパティを設定することができます。
MailTips を使用して受信者の状態を確認し、時間を節約する (プレビュー)
MailTips を使用すると、メールを送信する前にスマートに意思決定できます。 MailTips を使用すると、受信者のメールボックスが特定の送信者のみに制限されているかどうかや、その受信者にメールを送信するには承認が必要かなどの情報を取得できます。
返される本文の形式を制御したメッセージの読み取り
ID を参照してメールボックス内のメッセージを読み取ることができます。
GET /me/messages/AAMkADhMGAAA=
または、特定のフォルダー内のメッセージを取得することができます。 たとえば、サインインしたユーザーの下書きフォルダーにあるメッセージを読み取るには、以下を行います。
GET /me/mailfolders('Drafts')
Outlook メッセージの本文には、HTML 形式かテキスト形式を使用できます。GET 応答で返される既定のメッセージ本文の種類は HTML 形式です。
メッセージを取得する際に、次の要求ヘッダーで、body プロパティと uniqueBody プロパティがテキスト形式で返されるように指定できます。
Prefer: outlook.body-content-type="text"
HTML 形式でメッセージ本文を取得するには、次のヘッダーを指定するか、単にこのヘッダーをスキップします。
Prefer: outlook.body-content-type="html"
いずれかのヘッダーを指定した場合、成功応答には対応する Preference-Applied
ヘッダーが含まれます。
- テキスト形式要求の場合:
Preference-Applied: outlook.body-content-type="text"
- HTML 形式要求の場合:
Preference-Applied: outlook.body-content-type="html"
本文が HTML の場合、既定では、Outlook は body プロパティに埋め込まれている安全でない可能性のある HTML (JavaScript など) を削除してから、本文の内容を REST 応答で返します。
元の HTML コンテンツ全体を取得するには、次の HTTP 要求ヘッダーを含めます。
Prefer: outlook.allow-unsafe-html
@ ソーシャル ジェスチャとの統合 (プレビュー)
@ メンションとは、それらがメッセージに含まれている場合にユーザーに警告する通知のことです。 mention リソースを使用すると、メールに含まれる一般的なオンライン ソーシャル ジェスチャである @ プレフィックスを、アプリで設定および取得できます。 次の操作を実行できます。
その他の共有機能
Microsoft Graph エンティティ間で共有されている次の一般的な機能を活用します。
- メッセージの作成や更新など、1 つ以上の種類の変更が発生した場合の、メッセージの変更通知を受信登録します。
- フォルダー内のメッセージへの増分の変更を追跡します。
- オープン拡張機能やスキーマ拡張機能を作成して、メッセージ インスタンスにカスタム データを追加します。
- Outlook MAPI プロパティが Microsoft Graph API メタデータでまだ公開されていない場合は、メッセージ インスタンスで拡張プロパティを作成して、それらのプロパティのカスタム データを保存します。
次の手順
- Outlook メールと統合する理由
- MIME コンテンツを取得する
- 共有メッセージを取得する
- 別のユーザーを差出人として Outlook メッセージを送信する
- Outlook リソースの不変 ID を取得する
- Microsoft Graph v1.0 のメール API とその用途。