Enviar correo

Espacio de nombres: microsoft.graph

Enviar el mensaje especificado en el cuerpo de la solicitud con formato JSON o MIME.

Cuando usa formato JSON puede incluir datos adjuntos del archivo en la misma llamada de acción sendMail.

Cuando se usa el formato MIME:

Este método guarda el mensaje en la carpeta Elementos enviados.

Como alternativa, cree un mensaje de borrador para enviarlo más tarde.

Permisos

Uno de los siguientes permisos es necesario para llamar a esta API. Para más información, incluido cómo elegir permisos, consulte Permisos.

Tipo de permiso Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa) Mail.Send
Delegado (cuenta personal de Microsoft) Mail.Send
Aplicación Mail.Send

Solicitud HTTP

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

Encabezados de solicitud

Nombre Tipo Descripción
Authorization string {token} de portador. Obligatorio.
Content-Type string Naturaleza de los datos en el cuerpo de una entidad. Obligatorio.
Use application/json para un objeto JSON y text/plain para contenido MIME.

Cuerpo de la solicitud

Cuando use formato JSON, proporcione un objeto JSON con los parámetros siguientes.

Parámetro Tipo Descripción
mensaje Message Mensaje que se va a enviar. Obligatorio.
saveToSentItems Boolean Indica si se va a guardar el mensaje en Elementos enviados. Especifíquelo solo si el parámetro es falso, de forma predeterminada es verdadero. Opcional.

Al especificar el cuerpo en formato MIME, proporcione el contenido MIME como una cadena codificada en base64 en el cuerpo de la solicitud.

Respuesta

Si se ejecuta correctamente, este método devuelve el código de respuesta 202 Accepted. No devuelve nada en el cuerpo de la respuesta.

Si el cuerpo de la solicitud incluye contenido MIME con formato incorrecto, este método devuelve 400 Bad request y el siguiente mensaje de error: "Cadena en base64 no válida para contenido MIME".

Ejemplos

Ejemplo 1: Enviar un correo electrónico nuevo con formato JSON

Aquí tiene un ejemplo de cómo llamar a esta API.

Solicitud

Aquí tiene un ejemplo de la solicitud.

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

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

Respuesta

Aquí tiene un ejemplo de la respuesta.

HTTP/1.1 202 Accepted

Ejemplo 2: crear un mensaje con los encabezados de mensaje personalizados de Internet y enviarlo

Solicitud

POST https://graph.microsoft.com/v1.0/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"
      }
    ]
  }
}

Respuesta

Aquí tiene un ejemplo de la respuesta.

HTTP/1.1 202 Accepted

Ejemplo 3: Crear un mensaje con datos adjuntos de archivo y enviar el mensaje

Solicitud

POST https://graph.microsoft.com/v1.0/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"
      }
    ]
  }
}

Respuesta

Aquí tiene un ejemplo de la respuesta.

HTTP/1.1 202 Accepted

Ejemplo 4: Enviar un nuevo mensaje con el formato MIME

Solicitud

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

RnJvbTogQWxleCBXaWxiZXIgPEFsZXhXQGNvbnRvc28uY29tPgpUbzogTWVnYW4gQm93ZW4gPE1l
Z2FuQkBjb250b3NvLmNvbT4KU3ViamVjdDogSW50ZXJuYWwgUmVzdW1lIFN1Ym1pc3Npb246IFNh
bGVzIEFzc29jaWF0ZQpUaHJlYWQtVG9waWM6IEludGVybmFsIFJlc3VtZSBTdWJtaXNzaW9uOiBT
YWxlcyBBc3NvY2lhdGUKVGhyZWFkLUluZGV4OiBjb2RlY29kZWNvZGVoZXJlaGVyZWhlcmUKRGF0
ZTogU3VuLCAyOCBGZWIgMjAyMSAwNzoxNTowMCArMDAwMApNZXNzYWdlLUlEOgoJPE1XSFBSMTMw
MU1CMjAwMDAwMDAwRDc2RDlDMjgyMjAwMDA5QUQ5QTlASFdIUFIxMzAxTUIwMDAwLmNvZGVudW0u
cHJvZC5vdXRsb29rLmNvbT4KQ29udGVudC1MYW5ndWFnZTogZW4tVVMKWC1NUy1IYXMtQXR0YWNo
OgpYLU1TLVRORUYtQ29ycmVsYXRvcjoKWC1NUy1Fe

Respuesta

Aquí tiene un ejemplo de la respuesta.

HTTP/1.1 202 Accepted

Si el cuerpo de la solicitud incluye contenido MIME con formato incorrecto, este método devuelve el siguiente mensaje.

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

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