Enviar email

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor de versão.

Enviar a mensagem especificada no corpo da solicitação usando o formato JSON ou MIME.

Ao usar o formato JSON, você pode incluir um anexo e usar uma menção para chamar outro usuário na nova mensagem.

Ao utilizar o formato MIME:

Este método salva a mensagem na pasta Itens Enviados.

Alternativamente, criar um rascunho da mensagem para enviar mais tarde.

Permissões

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, consulte Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) Mail.Send
Delegado (conta pessoal da Microsoft) Mail.Send
Aplicativo Mail.Send

Solicitação HTTP

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

Cabeçalhos de solicitação

Nome Tipo Descrição
Autorização string {token} de portador. Obrigatório.
Content-Type string Natureza dos dados no corpo de uma entidade. Obrigatório.
Use application/json para um objeto JSON e text/plain para conteúdo MIME.

Corpo da solicitação

Ao usar o formato JSON, forneça um objeto JSON com os seguintes parâmetros.

Parâmetro Tipo Descrição
Message Message A mensagem a enviar. Obrigatório.
SaveToSentItems Boolean Indica se é necessário salvar a mensagem nos Itens Enviados. Especifique-a somente se o parâmetro for false; o padrão é true. Opcional.

Para usar a menção para chamar outro usuário na nova mensagem:

  • Inclua a propriedade required toRecipients , a propriedade mentions e quaisquer propriedades de mensagem writable no corpo da solicitação.
  • Para cada menção na propriedade mentions , você deve especificar a propriedade mencionada.

Ao especificar o corpo no formato MIME, forneça o conteúdo MIME como uma cadeia de caracteres codificada em base64 no corpo da solicitação. Não inclua parâmetros.

Resposta

Se bem-sucedido, este método retorna um código de resposta 202 Accepted. Não retorna nada no corpo da resposta.

Se o corpo da solicitação incluir conteúdo MIME malformado, este método retornará 400 Bad request e a seguinte mensagem de erro: "Cadeia de caracteres base64 inválida para o conteúdo MIME".

Exemplos

Exemplo 1: Enviar um novo email utilizando o formato JSON

Eis um exemplo de como chamar esta API.

Solicitação

Aqui está um exemplo da solicitação para criar e enviar uma mensagem em tempo real.

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

Resposta

Veja a seguir um exemplo da resposta.

HTTP/1.1 202 Accepted

Exemplo 2: Enviar uma mensagem que inclui uma @-mention

Solicitação

O próximo exemplo mostra uma mensagem do usuário in-lo como Samantha Booth. A mensagem também inclui uma menção de outra usuário, 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"
         }
      }
    ]
  }
}

Resposta

Veja a seguir um exemplo da resposta.

HTTP/1.1 202 Accepted

Exemplo 3: Enviar uma mensagem que inclua os headers de mensagens da Internet personalizados

Solicitação

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

Resposta

Veja a seguir um exemplo da resposta.

HTTP/1.1 202 Accepted

Exemplo 4: envia uma mensagem com um anexo de arquivo

Solicitação

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

Resposta

Veja a seguir um exemplo da resposta.

HTTP/1.1 202 Accepted

Exemplo 5: Enviar uma nova mensagem usando o formato MIME

Solicitação

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

RnJvbTogQWxleCBXaWxiZXIgPEFsZXhXQGNvbnRvc28uY29tPgpUbzogTWVnYW4gQm93ZW4gPE1l
Z2FuQkBjb250b3NvLmNvbT4KU3ViamVjdDogSW50ZXJuYWwgUmVzdW1lIFN1Ym1pc3Npb246IFNh
bGVzIEFzc29jaWF0ZQpUaHJlYWQtVG9waWM6IEludGVybmFsIFJlc3VtZSBTdWJtaXNzaW9uOiBT
YWxlcyBBc3NvY2lhdGUKVGhyZWFkLUluZGV4OiBjb2RlY29kZWNvZGVoZXJlaGVyZWhlcmUKRGF0
ZTogU3VuLCAyOCBGZWIgMjAyMSAwNzoxNTowMCArMDAwMApNZXNzYWdlLUlEOgoJPE1XSFBSMTMw
MU1CMjAwMDAwMDAwRDc2RDlDMjgyMjAwMDA5QUQ5QTlASFdIUFIxMzAxTUIwMDAwLmNvZGVudW0u
cHJvZC5vdXRsb29rLmNvbT4KQ29udGVudC1MYW5ndWFnZTogZW4tVVMKWC1NUy1IYXMtQXR0YWNo
OgpYLU1TLVRORUYtQ29ycmVsYXRvcjoKWC1NUy1Fe

Resposta

Veja a seguir um exemplo da resposta.

HTTP/1.1 202 Accepted

Se o corpo da solicitação incluir conteúdo MIME malformado, este método retornará a seguinte mensagem de erro.

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

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