usuario: sendMail

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

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

Cuando se usa el formato JSON, puede incluir datos adjuntos y usar una mención para llamar a otro usuario en el mensaje nuevo.

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.

Para obtener más información sobre los pasos involucrados en el backend antes de que un correo se entregue a los destinatarios, consulte aquí.

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ✅ ✅ ✅

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) Mail.Send No disponible.
Delegado (cuenta personal de Microsoft) Mail.Send No disponible.
Aplicación Mail.Send No disponible.

Solicitud HTTP

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

Encabezados de solicitud

Nombre Tipo Descripción
Authorization string {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización.
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
Message 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.

Para usar la mención para llamar a otro usuario en el mensaje nuevo:

  • Incluya la propiedad toRecipients requerida, la propiedad mentions y cualquier propiedad de mensaje grabable en el cuerpo de la solicitud.
  • Para cada mención en la propiedad menciones , debe especificar la propiedad mencionada .

Al especificar el cuerpo en formato MIME, proporcione el contenido MIME como una cadena codificada en base64 en el cuerpo de la solicitud. No incluyas parámetros.

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.

Nota: Un 202 Accepted código de respuesta indica que la solicitud se ha aceptado; sin embargo, no indica que el procesamiento de la solicitud se haya completado. La entrega del mensaje está sujeta a limitaciones y limitaciones de Exchange Online.

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

Ejemplos

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

Solicitud

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.com"
        }
      }
    ],
    "ccRecipients": [
      {
        "emailAddress": {
          "address": "danas@contoso.com"
        }
      }
    ]
  },
  "saveToSentItems": "false"
}

Respuesta

HTTP/1.1 202 Accepted

Ejemplo 2: Enviar un mensaje que incluya una @mención

En este ejemplo se muestra un mensaje del usuario que ha iniciado sesión a Samantha Booth. El mensaje también incluye una mención de otro usuario, Dana Swope.

Solicitud

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

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

Respuesta

HTTP/1.1 202 Accepted

Ejemplo 3: Enviar un mensaje que incluye encabezados de mensaje de Internet personalizados

Solicitud

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.com"
        }
      }
    ],
    "internetMessageHeaders": [
      {
        "name": "x-custom-header-group-name",
        "value": "Nevada"
      },
      {
        "name": "x-custom-header-group-id",
        "value": "NV001"
      }
    ]
  }
}

Respuesta

HTTP/1.1 202 Accepted

Ejemplo 4: Envía un mensaje con datos adjuntos de archivo

Solicitud

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.com"
        }
      }
    ],
    "attachments": [
      {
        "@odata.type": "#microsoft.graph.fileAttachment",
        "name": "attachment.txt",
        "contentType": "text/plain",
        "contentBytes": "SGVsbG8gV29ybGQh"
      }
    ]
  }
}

Respuesta

HTTP/1.1 202 Accepted

Ejemplo 5: Enviar un mensaje nuevo con el formato MIME

Solicitud

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

RnJvbTogQWRlbGUgVmFuY2UgPEFkZWxlVkBjb250b3NvLmNvbT4KVG86IEFsZXggV2lsYmVyIDxB
bGV4V0Bjb250b3NvLmNvbT4KU3ViamVjdDpUZXN0IE1lc3NhZ2UKQ29udGVudC1UeXBlOiBtdWx0
aXBhcnQvbWl4ZWQ7Cglib3VuZGFyeT0iXzAwNF9UWVpQUjA0TUI2OTgxNzNGRDAwMjE1MkQ1QURC
OEZCNDdDOEJDQVRZWlBSMDRNQjY5ODFhcGNwXyIKTUlNRS1WZXJzaW9uOiAxLjAKCi0tXzAwNF9U
WVpQUjA0TUI2OTgxNzNGRDAwMjE1MkQ1QURCOEZCNDdDOEJDQVRZWlBSMDRNQjY5ODFhcGNwXwpD
b250ZW50LVR5cGU6IG11bHRpcGFydC9hbHRlcm5hdGl2ZTsKCWJvdW5kYXJ5PSJfMDAwX1RZWlBS
MDRNQjY5ODE3M0ZEMDAyMTUyRDVBREI4RkI0N0M4QkNBVFlaUFIwNE1CNjk4MWFwY3BfIgoKLS1f
MDAwX1RZWlBSMDRNQjY5ODE3M0ZEMDAyMTUyRDVBREI4RkI0N0M4QkNBVFlaUFIwNE1CNjk4MWFw
Y3BfCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iaXNvLTg4NTktMSIKQ29udGVu
dC1UcmFuc2Zlci1FbmNvZGluZzogcXVvdGVkLXByaW50YWJsZQoKdGVzdCB0ZXh0IGJvZHkKCgot
LV8wMDBfVFlaUFIwNE1CNjk4MTczRkQwMDIxNTJENUFEQjhGQjQ3QzhCQ0FUWVpQUjA0TUI2OTgx
YXBjcF8KQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9Imlzby04ODU5LTEiCkNvbnRl
bnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKCjxodG1sPgo8aGVhZD4KPC9o
ZWFkPgo8Ym9keT4KdGVzdCBodG1sIGJvZHkKPC9ib2R5Pgo8L2h0bWw+CgotLV8wMDBfVFlaUFIw
NE1CNjk4MTczRkQwMDIxNTJENUFEQjhGQjQ3QzhCQ0FUWVpQUjA0TUI2OTgxYXBjcF8tLQoKLS1f
MDA0X1RZWlBSMDRNQjY5ODE3M0ZEMDAyMTUyRDVBREI4RkI0N0M4QkNBVFlaUFIwNE1CNjk4MWFw
Y3BfCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNo
bWVudDsKICAgICAgICBmaWxlbmFtZT0idGVzdC50eHQiCgp0aGlzIGlzIHRoZSBhdHRhY2htZW50
IHRleHQKCi0tXzAwNF9UWVpQUjA0TUI2OTgxNzNGRDAwMjE1MkQ1QURCOEZCNDdDOEJDQVRZWlBS
MDRNQjY5ODFhcGNwXy0t

Respuesta

En el ejemplo siguiente se muestra 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."
  }
}

Ejemplo 6: Enviar un nuevo mensaje marcado para seguimiento

Solicitud

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

{
  "subject": "Please respond by Friday",
  "toRecipients": [
    {
      "emailAddress": {
        "address": "meganb@contoso.com"
      }
    }
  ],
  "flag": {
    "flagStatus": "flagged",
    "startDateTime": {
      "dateTime": "2023-08-30T12:13:00",
      "timeZone": "Eastern Standard Time"
    },
    "dueDateTime": {
      "dateTime": "2023-09-01T17:00:00",
      "timeZone": "Eastern Standard Time"
    }
  }
}

Respuesta

HTTP/1.1 202 Accepted