Enviar mensagens do Outlook de outro usuárioSend Outlook messages from another user

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.Exchange Online provides mailbox permissions that allow a user to send mail that appears to be sent from another user, distribution list, group, resource, or shared mailbox. 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.Microsoft Graph supports this feature as well, but the end result varies depending on the exact permissions granted in Exchange Online and which API you use to send the mail.

PermissõesPermissions

Dois tipos de permissões são aplicáveis para enviar mensagens de outro usuário: permissões do Microsoft Graphe as permissões de caixa de correio.Two types of permissions apply to sending messages from another user: Microsoft Graph permissions, and mailbox permissions.

Permissões do Microsoft GraphMicrosoft Graph permissions

Para enviar mensagens de outro usuário, aplicativos que usam tokens de usuário, use a permissão Mail.Send.Shared.In order to send messages from another user, applications that use user tokens use the Mail.Send.Shared permission.

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.Applications that use application tokens instead of user tokens and have the Mail.Send permission consented by an administrator can send mail as any user in the organization by sending the mail normally through the user's mailbox.

Permissões de caixa de correioMailbox permissions

Duas permissões afetam o resultado final de enviar uma mensagem de outro usuário: enviar em nome e enviar como.Two permissions affect the end result of sending a message from another user: Send on Behalf and Send As. 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 é.The user that is signed in to your application with the Mail.Send.Shared permission MUST have at least one of these permissions granted to the mailbox, group, or distribution list that the mail is from.

Enviar em Nome deSend on Behalf

Com essa permissão, o destinatário do email tem uma indicação em clientes de email que a mensagem foi enviada pelo usuário do seu aplicativo em nome de outro usuário.With this permission, the recipient of the email has an indication in their email client that the message was sent by the user of your application on behalf of another user.

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

Isso é exibido no Microsoft Graph, como o sender (usuário realmente a enviou) e propriedades do from (usuário/grupo/etc que a mensagem aparece como sendo de).This is exposed in Microsoft Graph as the sender (user that actually sent the message) and from (user/group/etc. that the message appears to be from) properties.

{
  "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.A user can grant this permission for their own mailbox to another user by using Outlook. Os administradores podem conceder permissão para qualquer lista de distribuição, grupo ou caixa de correio no Centro de administração do Office 365.Administrators can grant this permission for any mailbox, group, or distribution list in the Office 365 admin center.

Enviar comoSend As

Com essa permissão, não há nenhuma indicação de que a mensagem foi enviada como um usuário diferente.With this permission, there is no indication that the message was sent as a different user. As propriedades sender e from têm o mesmo valor.The sender and from properties have the same value.

Os usuários não podem conceder essa permissão para suas caixas de correio.Users cannot grant this permission to their mailboxes. Os administradores podem conceder essa permissão no Centro de administração do Office 365.Admins can grant this permission in the Office 365 admin center.

Enviar com o Microsoft GraphSending with Microsoft Graph

Você pode enviar mensagens de outro usuário seja enviar diretamente ou criar um rascunho e, em seguida, enviá-lo.You can send messages from another user by either sending directly or by creating a draft and then sending it.

Para enviar de outro usuário, defina a from propriedade em mensagem enviada ao endereço de email do usuário para enviar de.In order to send from another user, set the from property on the message sent to the email address of the user to send from. Não é necessário configurar a propriedade sender - Microsoft Graph irá defini-la adequadamente, com base nas permissões de caixa de correio concedidas para usuários conectados.You don't need to set the sender property - Microsoft Graph will set it appropriately, based on the mailbox permissions granted to the user who has signed in.

Por exemplo, para enviar emails do grupo sales@contoso.com, configure a mensagem da seguinte maneira.For example, to send mail from the sales@contoso.com group, configure the message as follows.

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

Comportamento de itens enviadoSent Items behavior

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.After the message is sent, it can be saved to the sending user's Sent Items folder, the from user's Sent Items folder, or both. Ele também não pode ser salvo de forma alguma.It can also not be saved at all.

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.If the message is sent from an address that does not have a mailbox (a distribution list, for example), there is no Sent Items for the from user.

  • 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.If your application sends by using the /me endpoint (or /users/{user-id} where the user-id corresponds to the signed in user), by default, the message will be saved in the sending user's Sent Items folder.
  • 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.If your application sends by using the /users/{user-id} where the user-id corresponds to the from user, by default, the message will be saved in the from user's Sent Items folder.

    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.In order to send this way, the sending user must have the Full Access mailbox permission in addition to either the Send on Behalf or Send As permission.

O comportamento padrão pode ser alterado por outros fatores externos:The default behavior can be changed by other outside factors:

  • 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.Administrators can update the from user's mailbox to always save a copy of messages sent from a delegate to their Sent Items.
  • Configurando a saveToSentItems propriedade para false em um solicitação enviar email, você pode impedir o item de ser salvo na pasta Itens enviados.By setting the saveToSentItems property to false in a send mail request, you can prevent the item from being saved to the Sent Items folder. 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.However, if an administrator has configured the "always save a copy" setting, the message will still be saved to the from user's Sent Items.

ExemplosExamples

Exemplo 1: Envio bem-sucedido pelo ponto de extremidade /meExample 1: Successful send through /me endpoint

Neste exemplo, Adele Vance recebeu a permissão enviar em nome para a caixa de correio de Allan Deyoung.In this example, Adele Vance has been granted Send on Behalf permission to Allan Deyoung's mailbox.

SolicitaçãoRequest

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

RespostaResponse

HTTP/1.1 202 Accepted

Exemplo 2: Falha na tentativa de enviar sem permissõesExample 2: Unsuccessful attempt to send without permissions

Neste exemplo, Adele Vance tenta enviar um email de Patti Fernandez, mas não recebeu uma permissão enviar em nome ou enviar como.In this example, Adele Vance attempts to send an email from Patti Fernandez, but has not been granted either the Send on Behalf or Send As permission. A resposta contém um ErrorSendAsDenied erro.The response contains a ErrorSendAsDenied error.

SolicitaçãoRequest

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

RespostaResponse

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 etapasNext steps

Saiba mais sobre:Find out more about: