Compartilhar via


Descrição geral do processo de envio de correio do Microsoft Graph

No Microsoft Graph, cada um dos métodos reencaminhar, responder, responderTodos ou enviarMail cria e envia uma mensagem de e-mail na mesma chamada. Este artigo resume a forma como o Outlook e o Exchange Online processam normalmente as chamadas à API de envio de correio para enviar e-mails. A maioria dos passos (passos 2 a 7) ocorre após a resposta do método ser devolvida.

1. Criar uma nova mensagem na caixa de correio do remetente

O Outlook cria uma nova mensagem na pasta Rascunhos do remetente, copia o conteúdo da mensagem, os destinatários e os anexos do pedido JSON para a mensagem de rascunho e guarda-a. Se for bem-sucedido, o método devolve um código de estado de resposta 202 Accepted HTTP.

Se o remetente forneceu conteúdo MIME, o Exchange Online copia-o para uma única propriedade na nova mensagem de rascunho. Em seguida, o Exchange Online analisa o conteúdo mime e copia conteúdo relevante para as propriedades da mensagem e para as tabelas de destinatários e anexos. Quando terminar, o método devolve um 202 Accepted código de estado.

Este passo pode falhar por motivos como a caixa de correio do remetente estar cheia ou a ligação de rede ao servidor do remetente estar inativa. Se o método falhar, devolve um código de estado 4xx ou 5xx em conformidade.

Quando o passo 1 estiver concluído, a interação direta da sua aplicação com o Microsoft Graph terminou.

2. Notificar o serviço de transporte da nova mensagem de saída

O Exchange Online notifica o serviço de transporte de que está disponível uma nova mensagem para recolha.

3. Copiar mensagem de saída para o pipeline de transporte

O processo de transporte lê o conteúdo da mensagem da caixa de correio do remetente, converte-o no formato MIME e armazena-o no pipeline de transporte. Se o remetente forneceu conteúdo MIME, o processo de transporte copia os conteúdos do MIME mais ou menos intactos. Caso contrário, o processo de transporte serializa as propriedades da mensagem para construir conteúdo MIME.

Se o passo 3 falhar, o processo de transporte cria uma mensagem de relatório de entrega sem êxito e coloca-a na Caixa de Entrada do remetente.

4. Mover a mensagem original para a pasta Itens Enviados

Depois de tudo isto ser bem-sucedido, o transporte volta à loja para assumir a responsabilidade pela mensagem. Em resposta, o arquivo do Exchange atualiza a mensagem e move-a da pasta Rascunhos para a pasta Itens Enviados. (Dependendo das propriedades opcionais da mensagem, pode mover-se para uma pasta diferente ou eliminar a mensagem.)

5. Efetuar avaliação e encaminhamento de políticas

Os passos seguintes realizados pelo transporte incluem a imposição de políticas, o encaminhamento e a entrega do próximo salto. O transporte examina os endereços de e-mail dos destinatários e cria um registo dos mesmos de acordo com o que o salto de encaminhamento inicial tem de ser. O transporte deteta endereços de destinatário inválidos neste momento, para os quais o transporte envia os relatórios de entrega sem êxito para o remetente. Em seguida, o transporte aplica as políticas configuradas pelos administradores inquilinos. Essas políticas podem rejeitar a mensagem com base no respetivo conteúdo, armazenar cópias, etc. Depois de aplicar a política, os fãs de transportes retiram uma cópia da mensagem para cada destino de próximo salto. Para obter mais detalhes sobre o fluxo de transporte, consulte o fluxo de correio e o pipeline de transporte.

6. Entregar mensagem aos destinatários

O transporte do Exchange Online pode ou não ser responsável pela entrega final a todos os destinatários. Depende se esses destinatários têm caixas de correio do Exchange Online.

7. Entregar mensagens de relatório ao remetente

Alguns serviços estão envolvidos na geração de relatórios de entrega e no envio para o remetente em conformidade:

  • Quando um componente de transporte responsável, que pode ser um componente do Exchange Online ou não do Exchange Online, determina que um ou mais endereços de e-mail de destinatários não são a entregar, o componente gera relatórios de entrega sem êxito.
  • Ao mesmo tempo, o componente de transporte gera relatórios de entrega se o remetente os tiver pedido explicitamente.
  • O serviço de e-mail ou o cliente de e-mail do destinatário podem gerar notificações de leitura e não lidas ou não.

Para obter mais informações sobre mensagens de relatório, veja DSNs e NDRs no Exchange Server.

APIs do Microsoft Graph que criam e enviam um rascunho em chamadas separadas: