Nachrichten senden

Namespace: microsoft.graph

Wichtig

APIs unter der /beta Version in Microsoft Graph können geändert werden. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in Version 1.0 verfügbar ist, verwenden Sie die Versionsauswahl .

Senden Sie die im Anforderungstext angegebene Nachricht im JSON- oder MIME-Format.

Wenn Sie das JSON-Format verwenden, können Sie eine Anlage einschließen und eine Erwähnung verwenden, um einen anderen Benutzer in der neuen Nachricht aufzurufen.

Bei Verwendung des MIME-Formats:

  • Geben Sie die entsprechenden Internetnachrichtenkopfzeilen und den MIME-Inhalt an, die im Anforderungstext alle im Base64-Format codiert sind.
  • Fügen Sie dem MIME-Inhalt sämtliche Anlagen und S/MIME-Eigenschaften hinzu.

Bei dieser Methode wird die Nachricht im Ordner Gesendete Elemente gespeichert.

Alternativ können Sie einen Nachrichtenentwurf erstellen, der zu einem späteren Zeitpunkt gesendet werden soll.

Berechtigungen

Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie unter Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) Mail.Send
Delegiert (persönliches Microsoft-Konto) Mail.Send
Anwendung Mail.Send

HTTP-Anforderung

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

Anforderungsheader

Name Typ Beschreibung
Authorization string Bearer {token}. Erforderlich.
Content-Type string Die Art der Daten im Textkörper einer Entität. Erforderlich.
Verwenden Sie application/json für ein JSON-Objekt und text/plain für MIME-Inhalt.

Anforderungstext

Geben Sie bei Verwendung des JSON-Formats ein JSON-Objekt mit den folgenden Parametern an.

Parameter Typ Beschreibung
Nachricht Nachricht Die zu sendende Nachricht. Erforderlich.
SaveToSentItems Boolesch ,Gibt an, ob die Nachricht im Ordner „Gesendete Elemente“ gespeichert werden soll. Geben Sie es nur an, wenn der Parameter false ist; der Standardwert true ist. Optional.

So verwenden Sie erwähnungen , um einen anderen Benutzer in der neuen Nachricht aufzurufen:

  • Fügen Sie die erforderliche toRecipients-Eigenschaft , die Mentions-Eigenschaft und alle beschreibbaren Nachrichteneigenschaften in den Anforderungstext ein.
  • Für jede Erwähnung in der Erwähnungseigenschaft müssen Sie die genannte Eigenschaft angeben.

Geben Sie bei der Angabe des Texts im MIME-Format den MIME-Inhalt als eine Base64-codierte Zeichenfolge im Anforderungstext an. Fügen Sie keine Parameter ein.

Antwort

Wenn die Methode erfolgreich verläuft, wird der Antwortcode 202 Accepted zurückgegeben. Im Antworttext wird nichts zurückgegeben.

Wenn der Anforderungstext falsch formatierten MIME-Inhalt enthält, gibt diese Methode 400 Bad request sowie die folgende Fehlermeldung an: „Ungültige Base64-Zeichenfolge für MIME-Inhalt“.

Beispiele

Beispiel 1: Senden Sie eine neue E-Mail im JSON-Format

Nachfolgend sehen Sie ein Beispiel dafür, wie diese API aufgerufen wird.

Anforderung

Nachfolgend sehen Sie ein Beispiel für die Anforderung zum erstellen und senden einer Nachricht.

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"
}

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

HTTP/1.1 202 Accepted

Beispiel 2: Senden einer Nachricht, die eine @-Erwähnung enthält

Anforderung

Das nächste Beispiel zeigt eine Meldung des angemeldeten Benutzers an Samantha-Aufstände. Die Nachricht enthält auch eine Erwähnung eines anderen Benutzers, 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"
         }
      }
    ]
  }
}

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

HTTP/1.1 202 Accepted

Beispiel 3: Senden einer Nachricht, die benutzerdefinierte Internet-Nachrichtenkopfzeilen enthält

Anforderung

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"
      }
    ]
  }
}

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

HTTP/1.1 202 Accepted

Beispiel 4: Sendet eine Nachricht mit einer Dateianlage

Anforderung

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"
      }
    ]
  }
}

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

HTTP/1.1 202 Accepted

Beispiel 5: Senden einer neuen Nachricht im MIME-Format

Anforderung

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

RnJvbTogQWxleCBXaWxiZXIgPEFsZXhXQGNvbnRvc28uY29tPgpUbzogTWVnYW4gQm93ZW4gPE1l
Z2FuQkBjb250b3NvLmNvbT4KU3ViamVjdDogSW50ZXJuYWwgUmVzdW1lIFN1Ym1pc3Npb246IFNh
bGVzIEFzc29jaWF0ZQpUaHJlYWQtVG9waWM6IEludGVybmFsIFJlc3VtZSBTdWJtaXNzaW9uOiBT
YWxlcyBBc3NvY2lhdGUKVGhyZWFkLUluZGV4OiBjb2RlY29kZWNvZGVoZXJlaGVyZWhlcmUKRGF0
ZTogU3VuLCAyOCBGZWIgMjAyMSAwNzoxNTowMCArMDAwMApNZXNzYWdlLUlEOgoJPE1XSFBSMTMw
MU1CMjAwMDAwMDAwRDc2RDlDMjgyMjAwMDA5QUQ5QTlASFdIUFIxMzAxTUIwMDAwLmNvZGVudW0u
cHJvZC5vdXRsb29rLmNvbT4KQ29udGVudC1MYW5ndWFnZTogZW4tVVMKWC1NUy1IYXMtQXR0YWNo
OgpYLU1TLVRORUYtQ29ycmVsYXRvcjoKWC1NUy1Fe

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

HTTP/1.1 202 Accepted

Wenn der Anforderungstext falsch formatierten MIME-Inhalt enthält, gibt diese Methode die folgende Fehlermeldung an.

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

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