> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Registros de e-mails de clientes

> Veja todos os e-mails transacionais que Dodo Payments enviou a um cliente, verifique se foram entregues, leia o e-mail exatamente como foi enviado e envie-o novamente.

<CardGroup cols={2}>
  <Card title="List Customer Emails" icon="list" href="/api-reference/customers/list-customer-emails">
    Leia os e-mails enviados de um cliente e o resultado da entrega.
  </Card>

  <Card title="Get Email Content" icon="envelope-open" href="/api-reference/customers/get-customer-email-body">
    Leia um e-mail exatamente como ele foi enviado.
  </Card>
</CardGroup>

## Visão geral

Dodo Payments envia e-mails transacionais aos seus clientes em seu nome: recibos, avisos de reembolso, avisos de assinatura, e-mails de cobrança e recuperação, concessões de direitos de acesso e links de login do Customer Portal.

A guia **E-mails enviados** de um cliente registra cada um deles. Para cada e-mail, você vê o que foi enviado, até onde chegou e por que não foi entregue quando houve uma falha. Você pode abrir o e-mail que seu cliente recebeu e enviá-lo novamente.

<Frame>
  <img src="https://mintcdn.com/dodopayments/9G2eOufWVa-OvQvG/images/email-logs/sent-emails-tab.png?fit=max&auto=format&n=9G2eOufWVa-OvQvG&q=85&s=6c7fa235800cee5c32eb286312f2a52b" alt="A guia E-mails enviados de um cliente, listando cada e-mail com seu status de entrega" style={{ maxHeight: '500px', width: 'auto' }} width="2310" height="996" data-path="images/email-logs/sent-emails-tab.png" />
</Frame>

<Info>
  Os e-mails são mantidos por **180 dias**. O status de entrega vem do provedor de e-mail e é atualizado em poucos segundos após o evento.
</Info>

## Visualizar os e-mails de um cliente

<Steps>
  <Step title="Open the customer">
    Acesse **Clientes** no dashboard e selecione o cliente.
  </Step>

  <Step title="Open the Sent Emails tab">
    A guia lista todos os e-mails enviados para esse cliente nos últimos 180 dias, começando pelo mais recente.
  </Step>

  <Step title="Read a row">
    Cada linha mostra o assunto, o remetente abaixo dele, a categoria, a data e a hora e o status de entrega.
  </Step>
</Steps>

## Status de entrega

| Status       | Significado                                                                           |
| ------------ | ------------------------------------------------------------------------------------- |
| `sent`       | Dodo Payments entregou o e-mail ao provedor. Ele está a caminho.                      |
| `delivered`  | O servidor de e-mail destinatário aceitou o e-mail.                                   |
| `failed`     | O e-mail não chegou. Um motivo da falha é exibido.                                    |
| `complained` | O destinatário marcou o e-mail como spam.                                             |
| `blocked`    | Nada foi enviado. No modo de teste, isso significa que o limite semanal foi atingido. |

### Motivos da falha

Quando um e-mail falha, a linha apresenta um motivo para que você saiba se precisa agir. Passe o cursor sobre o status **Falhou** para lê-lo:

| Motivo                                           | O que significa                                                                       | O que fazer                              |
| ------------------------------------------------ | ------------------------------------------------------------------------------------- | ---------------------------------------- |
| A caixa de entrada não existe                    | O endereço não existe.                                                                | Corrija o endereço de e-mail do cliente. |
| O endereço foi rejeitado pelo servidor de e-mail | O servidor destinatário recusou o endereço.                                           | Use outro endereço.                      |
| O endereço foi bloqueado após falhas anteriores  | O provedor suprimiu esse endereço após uma falha permanente ou uma denúncia anterior. | Use outro endereço.                      |
| A caixa de entrada está cheia                    | A caixa de entrada do destinatário está sem espaço.                                   | Tente enviar novamente mais tarde.       |
| Falha temporária na entrega                      | Um problema temporário no servidor destinatário.                                      | Tente enviar novamente mais tarde.       |
| A mensagem foi rejeitada por ser muito grande    | O servidor destinatário recusou o tamanho.                                            | Entre em contato com o suporte.          |
| O destinatário marcou o e-mail como spam         | O destinatário denunciou o e-mail.                                                    | Não o envie novamente.                   |
| Não foi possível enviar o e-mail                 | O provedor recusou o envio.                                                           | Envie novamente.                         |

Cinco desses motivos exigem um endereço diferente ao reenviar, pois o mesmo endereço falharia novamente. São eles: a caixa de entrada não existe, o endereço foi rejeitado, o endereço foi bloqueado após falhas anteriores, a mensagem foi rejeitada por ser muito grande e o destinatário marcou o e-mail como spam.

## Ler um e-mail

Selecione **Reenviar** em uma linha para abrir o painel do e-mail. A **Prévia do e-mail** nesse painel mostra a cópia armazenada exatamente como foi enviada.

<Frame>
  <img src="https://mintcdn.com/dodopayments/9G2eOufWVa-OvQvG/images/email-logs/email-preview.png?fit=max&auto=format&n=9G2eOufWVa-OvQvG&q=85&s=b0d00b4b6fe62c6ace0b8a2b4419619b" alt="O conteúdo do e-mail armazenado, exibido como o cliente o recebeu" style={{ maxHeight: '500px', width: 'auto' }} width="824" height="1148" data-path="images/email-logs/email-preview.png" />
</Frame>

Alguns e-mails não têm conteúdo para exibir:

* **E-mails de login do Customer Portal.** Eles contêm um link de login válido, portanto o conteúdo nunca é exibido.
* **E-mails bloqueados.** Eles nunca chegaram ao provedor, portanto não existe uma cópia.
* **E-mails com mais de 180 dias.** O provedor limpa o conteúdo após esse período.

## Enviar um e-mail novamente

Selecione **Reenviar** em uma linha para enviar o mesmo e-mail novamente. Dodo Payments o renderiza novamente a partir do evento original, portanto um recibo sempre mostra o estado atual do pagamento.

<Frame>
  <img src="https://mintcdn.com/dodopayments/9G2eOufWVa-OvQvG/images/email-logs/resend-email.png?fit=max&auto=format&n=9G2eOufWVa-OvQvG&q=85&s=8751c05df35b14f116c8d487eaae7b70" alt="O controle de reenvio em uma linha de e-mail, com a opção de enviar para um endereço diferente" style={{ maxHeight: '500px', width: 'auto' }} width="896" height="2104" data-path="images/email-logs/resend-email.png" />
</Frame>

O painel mantém o endereço original no campo **Para**. Altere-o para enviar para outro endereço. Após uma falha permanente, é necessário usar um endereço diferente, pois o mesmo falharia novamente.

<Warning>
  O reenvio é um novo e-mail. Ele aparece como uma linha própria na guia.
</Warning>

### Limites

* Cada e-mail pode ser enviado novamente **três vezes**.
* Há um intervalo entre as tentativas: cinco minutos antes do primeiro reenvio, dez minutos antes do segundo e quinze minutos antes do terceiro.
* Um envio que nunca chegou ao provedor não conta para os três reenvios. Ainda assim, ele adiciona tempo ao intervalo.
* O reenvio está disponível apenas no dashboard. A API é somente leitura.

### Quando o reenvio não está disponível

| Caso                                            | Motivo                                                                            |
| ----------------------------------------------- | --------------------------------------------------------------------------------- |
| O destinatário marcou o e-mail como spam        | Enviá-lo novamente violaria a denúncia feita pelo destinatário.                   |
| O endereço está suprimido                       | O provedor aceita o envio e depois o descarta.                                    |
| Um envio posterior do mesmo e-mail já foi feito | Esta linha é apenas o histórico. Enviá-lo novamente entregaria uma segunda cópia. |
| O cliente está bloqueado                        | Um cliente bloqueado não recebe mais e-mails seus.                                |
| Os três reenvios foram usados                   | O limite é por e-mail.                                                            |

<Note>
  Um e-mail de login do Customer Portal sempre vai para o endereço que o solicitou, e cada reenvio gera um novo link de login.
</Note>

## Modo de teste

O modo de teste envia e-mails reais, portanto há um limite: **100 e-mails por empresa por semana**. Os reenvios usam o mesmo limite.

Quando o limite é atingido, os e-mails seguintes são registrados como `blocked` e nada é enviado. A linha exibe "Não enviado: o limite de e-mails do modo de teste desta semana foi atingido". O limite é redefinido toda semana. O modo ativo não tem esse limite.

<Info>
  E-mails de login do Customer Portal nunca são enviados no modo de teste e não consomem o limite.
</Info>

## Ler e-mails pela API

A lista e o conteúdo também estão disponíveis por meio da sua chave de API, para que você possa exibir o status de entrega nas suas próprias ferramentas de suporte.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://live.dodopayments.com/customers/{customer_id}/emails?page_size=10 \
    -H "Authorization: Bearer $DODO_API_KEY"
  ```

  ```typescript Node.js theme={null}
  const res = await fetch(
    `https://live.dodopayments.com/customers/${customerId}/emails?page_size=10`,
    { headers: { Authorization: `Bearer ${process.env.DODO_API_KEY}` } },
  );
  const { items, total_count } = await res.json();
  ```

  ```python Python theme={null}
  import os, requests

  res = requests.get(
      f"https://live.dodopayments.com/customers/{customer_id}/emails",
      params={"page_size": 10},
      headers={"Authorization": f"Bearer {os.environ['DODO_API_KEY']}"},
  )
  items = res.json()["items"]
  ```
</CodeGroup>

Cada item contém `status`, o `failure_code` e `failure_reason` quando o envio falhou, além de `has_preview` para indicar se existe conteúdo armazenado. Ele também contém um objeto `policies` que informa o que você pode fazer com a linha:

| Campo                        | Significado                                                             |
| ---------------------------- | ----------------------------------------------------------------------- |
| `resend_allowed`             | Você pode enviar esta linha novamente.                                  |
| `retry_allowed`              | O envio falhou e você pode tentar novamente.                            |
| `resends_remaining`          | Quantos reenvios restam para o e-mail.                                  |
| `requires_different_address` | O mesmo endereço falharia novamente, portanto você deve informar outro. |
| `superseded`                 | Um envio posterior do mesmo e-mail substituiu esta linha.               |

Leia `policies` em vez de determinar a elegibilidade por conta própria. O servidor aplica as regras acima.

<CardGroup cols={2}>
  <Card title="Customer Management" icon="user-group" href="/features/customers">
    Gerencie clientes, histórico de compras e acesso de autoatendimento.
  </Card>

  <Card title="Communication Preferences" icon="bell" href="/features/communication-preferences">
    Escolha quais e-mails Dodo Payments envia em seu nome.
  </Card>
</CardGroup>
