Partilhar via


utilizador: sendMail

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 Versão.

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

Ao utilizar o formato JSON, pode incluir um anexo e utilizar uma menção para chamar outro utilizador 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.

Para saber mais sobre os passos envolvidos no back-end antes de um e-mail ser entregue aos destinatários, consulte aqui.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) Mail.Send Indisponível.
Delegado (conta pessoal da Microsoft) Mail.Send Indisponível.
Aplicativo Mail.Send Indisponível.

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. Saiba mais sobre autenticação e autorização.
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 utilizar a menção para chamar outro utilizador na nova mensagem:

  • Inclua a propriedade toRecipients necessária, a propriedade menções e quaisquer propriedades de mensagem graváveis no corpo do pedido.
  • Para cada menção na propriedade menções , tem de 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 devolve nada no corpo da resposta.

Nota: um 202 Accepted código de resposta indica que o pedido foi aceite; no entanto, não indica que o processamento do pedido foi concluído. A entrega da mensagem está sujeita a limitações e limitações do Exchange Online.

Se o corpo do pedido incluir conteúdo MIME com formato incorreto, este método devolve 400 Bad request e a seguinte mensagem de erro: "Cadeia base64 inválida para conteúdo MIME".

Exemplos

Exemplo 1: Enviar um novo email utilizando o formato JSON

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

Resposta

HTTP/1.1 202 Accepted

Exemplo 2: enviar uma mensagem que inclui uma @menção

Este exemplo mostra uma mensagem do utilizador com sessão iniciada na Samantha Booth. A mensagem também inclui uma menção a outra utilizadora, Dana Swope.

Solicitação

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

Resposta

HTTP/1.1 202 Accepted

Exemplo 3: Enviar uma mensagem que inclui cabeçalhos 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.com"
        }
      }
    ],
    "internetMessageHeaders": [
      {
        "name": "x-custom-header-group-name",
        "value": "Nevada"
      },
      {
        "name": "x-custom-header-group-id",
        "value": "NV001"
      }
    ]
  }
}

Resposta

HTTP/1.1 202 Accepted

Exemplo 4: envia uma mensagem com um anexo de ficheiro

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

Resposta

HTTP/1.1 202 Accepted

Exemplo 5: Enviar uma nova mensagem com o formato MIME

Solicitação

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

Resposta

O exemplo a seguir mostra a 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."
  }
}

Exemplo 6: Enviar uma nova mensagem sinalizada para seguimento

Solicitação

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

Resposta

HTTP/1.1 202 Accepted