Partilhar via


Enviar mensagens do Outlook de outro usuário

Exchange Online fornece permissões de caixa de correio que permitem um usuário enviar o email que parece ter sido enviado de outro usuário, a lista de distribuição, grupo, recurso ou caixa de correio compartilhada. O Microsoft Graph também dá suporte a este recurso, mas o resultado final varia dependendo das permissões exatas concedidas no Exchange Online e que API você usa para enviar o email.

Permissões

Dois tipos de permissões são aplicáveis para enviar mensagens de outro usuário:

Permissões do Microsoft Graph

Para enviar mensagens de outro usuário, aplicativos que usam tokens de usuário, use a permissão Mail.Send.Shared.

Observação

Os aplicativos que usam tokens de aplicativo em vez de tokens de usuário e tem a permissão Mail.Send consentida por um administrador, pode enviar emails, como qualquer usuário na organização enviando o email normalmente através da caixa de correio do usuário.

Permissões de caixa de correio

Duas permissões afetam o resultado final de enviar uma mensagem de outro usuário: enviar em nome e enviar como. O usuário que entra no aplicativo com a permissão Mail.Send.Shared DEVE ter pelo menos uma destas permissões que foram concedidas para a caixa de correio, grupo ou lista de distribuição de onde o email é.

Observação

No momento, não é possível usar o Microsoft Graph para consultar para quais caixas de correio o usuário autenticado tem permissões.

Enviar em Nome de

Com essa permissão, o destinatário do email tem uma indicação em seu cliente de email de que o usuário do seu aplicativo enviou a mensagem em nome de outro usuário.

Captura de tela do Outlook na web que indica que uma mensagem foi enviada por um usuário em nome do outro

Isso é exposto no Microsoft Graph como as sender propriedades (o usuário que realmente enviou a mensagem) e from (o usuário, o grupo ou assim por diante, que a mensagem parece ser de) propriedades.

{
  "id": "AAMkAGE1...",
  "subject": "Send mail test",
  "sender": {
    "emailAddress": {
      "name": "Adele Vance",
      "address": "AdeleV@contoso.com"
    }
  },
  "from": {
    "emailAddress": {
      "name": "Pradeep Gupta",
      "address": "PradeepG@contoso.com"
    }
  }
}

Um usuário pode conceder permissão para suas caixas de correio a outro usuário, usando o Outlook. Os administradores podem conceder permissão para qualquer lista de distribuição, grupo ou caixa de correio no Centro de administração do Microsoft 365.

Enviar como

Com essa permissão, não há nenhuma indicação de que a mensagem foi enviada como um usuário diferente. As propriedades sender e from têm o mesmo valor.

Os usuários não podem conceder essa permissão para suas caixas de correio. Os administradores podem conceder essa permissão no Centro de administração do Microsoft 365.

Enviar com o Microsoft Graph

Você pode enviar mensagens de outro usuário seja enviar diretamente ou criar um rascunho e, em seguida, enviá-lo.

Para enviar de outro usuário, defina a from propriedade em mensagem enviada ao endereço de email do usuário para enviar de. Você não precisa definir a propriedade – o Microsoft Graph a sender define adequadamente, com base nas permissões de caixa de correio concedidas ao usuário que entrou.

Por exemplo, para enviar emails do grupo sales@contoso.com, configure a mensagem da seguinte maneira.

{
  "subject": "January sales report",
  "toRecipients": [
    {
      "emailAddress": {
        "address": "MeganB@contoso.com"
      }
    }
  ],
  "from": {
    "emailAddress": {
      "address": "sales@contoso.com"
    }
  }
}

Comportamento de itens enviado

Depois que a mensagem é enviada, pode ser salva em pastas de itens enviados do usuário de envio, a sua pasta Itens enviados do usuário ou ambas. Ele também não pode ser salvo de forma alguma.

Observação

Se a mensagem é enviada de um endereço que não tenha uma caixa de correio (uma lista de distribuição, por exemplo), não há nenhuma item enviados para o usuário.

  • Se o aplicativo enviar usando o /me ponto de extremidade (ou /users/{user-id} onde a user-id corresponde ao usuário conectado), por padrão, a mensagem será salva na pasta Itens enviados de envio do usuário.
  • Se o aplicativo enviar usando o /users/{user-id} onde a user-id corresponde à de usuário, por padrão, a mensagem será salva na da pasta Itens enviados do usuário.

    Importante

    Para enviar dessa maneira, o usuário de envio deve ter a permissão de caixa de correio acesso total, além de uma permissão enviar em nome ou enviar como.

O comportamento padrão pode ser alterado por outros fatores externos:

  • Os administradores podem atualizar na caixa de correio do usuário para sempre salvar uma cópia das mensagens enviadas de um representante para seus itens enviados.
  • Configurando a saveToSentItems propriedade para false em um solicitação enviar email, você pode impedir o item de ser salvo na pasta Itens enviados. No entanto, se o administrador definiu a configuração "sempre salvar uma cópia", a mensagem será ainda salva a partir dos itens enviados do usuário.

Exemplos

Exemplo 1: Envio bem-sucedido pelo ponto de extremidade /me

Neste exemplo, Adele Vance recebeu a permissão enviar em nome para a caixa de correio de Allan Deyoung.

Solicitação

POST /me/sendmail
Content-Type: application/json

{
  "message": {
    "subject": "Expense reports",
    "body": {
      "contentType": "text",
      "content": "Have you submitted your expense reports yet?"
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "MeganB@contoso.com"
        }
      }
    ],
    "from": {
      "emailAddress": {
        "address": "AllanD@contoso.com"
      }
    }
  }
}

Resposta

HTTP/1.1 202 Accepted

Exemplo 2: Falha na tentativa de enviar sem permissões

Neste exemplo, Adele Vance tenta enviar um email de Patti Fernandez, mas não recebeu uma permissão enviar em nome ou enviar como. A resposta contém um ErrorSendAsDenied erro.

Solicitação

POST /me/sendmail
Content-Type: application/json

{
  "message": {
    "subject": "Support ticket",
    "body": {
      "contentType": "text",
      "content": "I noticed you opened a support ticket yesterday..."
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "MeganB@contoso.com"
        }
      }
    ],
    "from": {
      "emailAddress": {
        "address": "PattiF@contoso.com"
      }
    }
  }
}

Resposta

HTTP/1.1 403 Forbidden
Content-Type: application/json

{
  "error": {
    "code": "ErrorSendAsDenied",
    "message": "The user account which was used to submit this request does not have the right to send mail on behalf of the specified sending account. Cannot submit message.",
    "innerError": {
      "request-id": "24e7991e-01ae-4cc2-8e06-532a96fd8948",
      "date": "2019-01-16T18:53:25"
    }
  }
}

Próximas etapas