メールを送信する

名前空間: microsoft.graph

重要

Microsoft Graph のバージョンの /beta API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 API が v1.0 で使用できるかどうかを確認するには、 バージョン セレクターを使用します。

要求本文に指定されたメッセージを、JSON または MIME 形式で送信します。

JSON 形式を使用する場合は、添付ファイルを含 め、メン ションを使用 して新しい メッセージで別のユーザーを呼び出します。

MIME 形式を使用すると、以下のことが可能になります。

このメソッドでは、[送信済みアイテム] フォルダーにメッセージを保存できます。

また、後で送信するための下書きメッセージを作成することもできます。

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) Mail.Send
委任 (個人用 Microsoft アカウント) Mail.Send
アプリケーション Mail.Send

HTTP 要求

POST /me/sendMail
POST /users/{id | userPrincipalName}/sendMail

要求ヘッダー

名前 種類 説明
Authorization string ベアラー {token}。必須。
Content-Type string エンティティ本文内のデータの性質です。必須。
JSON オブジェクトには application/json を、MIME コンテンツには text/plain を使用します。

要求本文

JSON オブジェクトを使用する場合、次のパラメーターを含む JSON オブジェクトを指定します。

パラメーター 種類 説明
メッセージ Message 送信するメッセージです。必須。
SaveToSentItems Boolean [送信済みアイテム] 内のメッセージを保存するかどうかを示します。パラメーターを false にする場合にのみ指定します。既定では true です。省略可能。

メンションを 使用して 、新しいメッセージで別のユーザーを呼び出す場合は、次のコマンドを実行します。

  • 要求本文に 、必須の toRecipients プロパティ、 mentions プロパティ、および書き込み可能なメッセージ プロパティを含める。
  • mentions プロパティの各 メンション に対して、指定したプロパティを 指定する必要 があります。

ボディを MIME 形式で指定する場合は、要求本文に MIME コンテンツを Base64 エンコードした文字列 として指定します。 パラメーターを含めない。

応答

成功した場合、このメソッドは 202 Accepted 応答コードを返します。応答本文には何も返されません。

要求本文に不正な MIME コンテンツが含まれていた場合、このメソッドは 400 Bad request と次のエラー メッセージを返します。"MIME コンテンツの無効な base64 文字列"。

例 1: JSON 形式を使用して新規メールを送信する

以下は、この API を呼び出す方法の例です。

要求

メッセージを作成してその他のメッセージを送信する要求の例を次に示します。

POST https://graph.microsoft.com/beta/me/sendMail
Content-type: application/json

{
  "message": {
    "subject": "Meet for lunch?",
    "body": {
      "contentType": "Text",
      "content": "The new cafeteria is open."
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "samanthab@contoso.onmicrosoft.com"
        }
      }
    ],
    "ccRecipients": [
      {
        "emailAddress": {
          "address": "danas@contoso.onmicrosoft.com"
        }
      }
    ]
  },
  "saveToSentItems": "false"
}

応答

以下は、応答の例です。

HTTP/1.1 202 Accepted

例 2: @-mention を含むメッセージを送信する

要求

次の例は、サインインしているユーザーが Samantha Booth にメッセージを表示します。 メッセージには、別のユーザーである Dana Swope のメンションも含まれています。

POST https://graph.microsoft.com/beta/me/sendMail
Content-type: application/json

{
  "Message": {
    "subject": "Project kickoff",
    "toRecipients":[
      {
          "emailAddress":{
              "name":"Samantha Booth",
              "address":"samanthab@contoso.onmicrosoft.com"
          }
      }
    ],
    "mentions":[
      {
        "mentioned":{
          "name":"Dana Swope",
          "address":"danas@contoso.onmicrosoft.com"
         }
      }
    ]
  }
}

応答

以下は、応答の例です。

HTTP/1.1 202 Accepted

例 3: カスタムインターネット メッセージ ヘッダーを含むメッセージを送信する

要求

POST https://graph.microsoft.com/beta/me/sendMail
Content-type: application/json

{
  "message": {
    "subject": "9/9/2018: concert",
    "body": {
      "contentType": "HTML",
      "content": "The group represents Nevada."
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "AlexW@contoso.OnMicrosoft.com"
        }
      }
    ],
    "internetMessageHeaders":[
      {
        "name":"x-custom-header-group-name",
        "value":"Nevada"
      },
      {
        "name":"x-custom-header-group-id",
        "value":"NV001"
      }
    ]
  }
}

応答

以下は、応答の例です。

HTTP/1.1 202 Accepted

例 4: 添付ファイルを含むメッセージを送信する

要求

POST https://graph.microsoft.com/beta/me/sendMail
Content-type: application/json

{
  "message": {
    "subject": "Meet for lunch?",
    "body": {
      "contentType": "Text",
      "content": "The new cafeteria is open."
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "meganb@contoso.onmicrosoft.com"
        }
      }
    ],
    "attachments": [
      {
        "@odata.type": "#microsoft.graph.fileAttachment",
        "name": "attachment.txt",
        "contentType": "text/plain",
        "contentBytes": "SGVsbG8gV29ybGQh"
      }
    ]
  }
}

応答

以下は、応答の例です。

HTTP/1.1 202 Accepted

例 5: MIME 形式を使用して新しいメッセージを送信する

要求

POST https://graph.microsoft.com/beta/me/sendMail
Content-type: text/plain

RnJvbTogQWxleCBXaWxiZXIgPEFsZXhXQGNvbnRvc28uY29tPgpUbzogTWVnYW4gQm93ZW4gPE1l
Z2FuQkBjb250b3NvLmNvbT4KU3ViamVjdDogSW50ZXJuYWwgUmVzdW1lIFN1Ym1pc3Npb246IFNh
bGVzIEFzc29jaWF0ZQpUaHJlYWQtVG9waWM6IEludGVybmFsIFJlc3VtZSBTdWJtaXNzaW9uOiBT
YWxlcyBBc3NvY2lhdGUKVGhyZWFkLUluZGV4OiBjb2RlY29kZWNvZGVoZXJlaGVyZWhlcmUKRGF0
ZTogU3VuLCAyOCBGZWIgMjAyMSAwNzoxNTowMCArMDAwMApNZXNzYWdlLUlEOgoJPE1XSFBSMTMw
MU1CMjAwMDAwMDAwRDc2RDlDMjgyMjAwMDA5QUQ5QTlASFdIUFIxMzAxTUIwMDAwLmNvZGVudW0u
cHJvZC5vdXRsb29rLmNvbT4KQ29udGVudC1MYW5ndWFnZTogZW4tVVMKWC1NUy1IYXMtQXR0YWNo
OgpYLU1TLVRORUYtQ29ycmVsYXRvcjoKWC1NUy1Fe

応答

以下は、応答の例です。

HTTP/1.1 202 Accepted

要求本文に不正な MIME コンテンツが含まれていた場合、このメソッドは次のエラー メッセージを返します。

HTTP/1.1 400 Bad Request
Content-type: application/json

{
    "error": {
        "code": "ErrorMimeContentInvalidBase64String",
        "message": "Invalid base64 string for MIME content."
    }
}