> ## 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 correos de clientes

> Consulta todos los correos transaccionales que Dodo Payments envió a un cliente, comprueba si llegaron, lee el correo exactamente como se envió y vuelve a enviarlo.

<CardGroup cols={2}>
  <Card title="List Customer Emails" icon="list" href="/api-reference/customers/list-customer-emails">
    Lee los correos enviados a un cliente y el resultado de su entrega.
  </Card>

  <Card title="Get Email Content" icon="envelope-open" href="/api-reference/customers/get-customer-email-body">
    Lee un correo exactamente como se envió.
  </Card>
</CardGroup>

## Descripción general

Dodo Payments envía correos transaccionales a tus clientes en tu nombre: recibos, avisos de reembolso, avisos de suscripción, correos de gestión de impagos y recuperación, concesiones de derechos y enlaces de inicio de sesión de Customer Portal.

La pestaña **Correos enviados** de un cliente registra cada uno de ellos. Para cada correo puedes ver qué se envió, hasta dónde llegó y por qué no llegó cuando se produjo un error. Puedes abrir el correo que recibió tu cliente y volver a enviarlo.

<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="La pestaña Correos enviados de un cliente, que muestra cada correo con su estado de entrega" style={{ maxHeight: '500px', width: 'auto' }} width="2310" height="996" data-path="images/email-logs/sent-emails-tab.png" />
</Frame>

<Info>
  Los correos se conservan durante **180 días**. El estado de entrega procede del proveedor de correo y se actualiza en cuestión de segundos desde que se produce el evento.
</Info>

## Ver los correos de un cliente

<Steps>
  <Step title="Open the customer">
    Ve a **Clientes** en el dashboard y selecciona el cliente.
  </Step>

  <Step title="Open the Sent Emails tab">
    La pestaña muestra todos los correos enviados a este cliente durante los últimos 180 días, empezando por los más recientes.
  </Step>

  <Step title="Read a row">
    Cada fila muestra el asunto, el remitente debajo, la categoría, la fecha y la hora, y el estado de entrega.
  </Step>
</Steps>

## Estado de entrega

| Estado       | Significado                                                                      |
| ------------ | -------------------------------------------------------------------------------- |
| `sent`       | Dodo Payments entregó el correo al proveedor. Está en camino.                    |
| `delivered`  | El servidor de correo receptor aceptó el correo.                                 |
| `failed`     | El correo no llegó. Se muestra el motivo del error.                              |
| `complained` | El destinatario marcó el correo como spam.                                       |
| `blocked`    | No se envió nada. En el modo de prueba, significa que se agotó la cuota semanal. |

### Motivos del error

Cuando un correo falla, la fila incluye un motivo para que sepas si debes actuar. Coloca el cursor sobre el estado **Fallido** para leerlo:

| Motivo                                         | Qué significa                                                                                      | Qué hacer                                   |
| ---------------------------------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| El buzón no existe                             | La dirección no existe.                                                                            | Corrige la dirección de correo del cliente. |
| El servidor de correo rechazó la dirección     | El servidor receptor rechazó la dirección.                                                         | Usa otra dirección.                         |
| La dirección se bloqueó tras fallos anteriores | El proveedor suprimió esta dirección después de un rebote permanente o una reclamación anteriores. | Usa otra dirección.                         |
| El buzón está lleno                            | El buzón del destinatario no tiene espacio.                                                        | Vuelve a enviarlo más tarde.                |
| Fallo temporal de entrega                      | Existe un problema transitorio en el servidor receptor.                                            | Vuelve a enviarlo más tarde.                |
| El mensaje se rechazó por ser demasiado grande | El servidor receptor rechazó el tamaño.                                                            | Contacta con soporte.                       |
| El destinatario marcó el correo como spam      | El destinatario denunció el correo.                                                                | No lo vuelvas a enviar.                     |
| No se pudo enviar el correo                    | El proveedor rechazó el envío.                                                                     | Vuelve a enviarlo.                          |

Cinco de estos motivos requieren una dirección diferente al reenviar, porque el mismo envío volvería a fallar. Son: el buzón no existe, el servidor de correo rechazó la dirección, la dirección se bloqueó tras fallos anteriores, el mensaje se rechazó por ser demasiado grande y el destinatario marcó el correo como spam.

## Leer un correo

Selecciona **Reenviar** en una fila para abrir el panel del correo. **Vista previa del correo** en ese panel muestra la copia almacenada exactamente como se envió.

<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="El contenido del correo almacenado, mostrado tal como lo recibió el cliente" style={{ maxHeight: '500px', width: 'auto' }} width="824" height="1148" data-path="images/email-logs/email-preview.png" />
</Frame>

Algunos correos no tienen contenido que mostrar:

* **Correos de inicio de sesión de Customer Portal.** Incluyen un enlace de inicio de sesión activo, por lo que el contenido nunca se muestra.
* **Correos bloqueados.** Nunca llegaron al proveedor, por lo que no existe ninguna copia.
* **Correos de más de 180 días.** El proveedor elimina el contenido al cumplirse ese plazo.

## Volver a enviar un correo

Selecciona **Reenviar** en una fila para volver a enviar el mismo correo. Dodo Payments lo vuelve a generar a partir del evento original, por lo que un recibo siempre muestra el estado actual del pago.

<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="El control de reenvío de una fila de correo, con la opción de enviarlo a otra dirección" style={{ maxHeight: '500px', width: 'auto' }} width="896" height="2104" data-path="images/email-logs/resend-email.png" />
</Frame>

El panel conserva la dirección original en el campo **Para**. Cámbiala para enviarlo a otro destinatario. Después de un fallo permanente, se requiere una dirección diferente, porque el mismo envío volvería a fallar.

<Warning>
  Un reenvío es un correo nuevo. Aparece como una fila independiente en la pestaña.
</Warning>

### Límites

* Cada correo puede volver a enviarse **tres veces**.
* Se aplica una espera entre los intentos: cinco minutos antes del primer reenvío, diez antes del segundo y quince antes del tercero.
* Un envío que nunca llegó al proveedor no cuenta para los tres reenvíos. Aun así, añade tiempo de espera.
* El reenvío solo está disponible en el dashboard. La API es de solo lectura.

### Cuándo no está disponible el reenvío

| Caso                                       | Motivo                                                                              |
| ------------------------------------------ | ----------------------------------------------------------------------------------- |
| El destinatario marcó el correo como spam  | Volver a enviarlo incumpliría su reclamación.                                       |
| La dirección está suprimida                | El proveedor acepta el envío y después lo descarta.                                 |
| Ya se envió posteriormente el mismo correo | Esta fila es un registro histórico. Volver a enviarlo entregaría una segunda copia. |
| El cliente está bloqueado                  | Un cliente bloqueado no recibe más correos tuyos.                                   |
| Se usaron los tres reenvíos                | El límite se aplica por correo.                                                     |

<Note>
  Un correo de inicio de sesión de Customer Portal siempre se envía a la dirección que lo solicitó, y cada reenvío genera un enlace de inicio de sesión nuevo.
</Note>

## Modo de prueba

El modo de prueba envía correos reales, por lo que tiene una cuota: **100 correos por negocio a la semana**. Los reenvíos utilizan la misma cuota.

Cuando se agota la cuota, los correos posteriores se registran como `blocked` y no se envía nada. La fila muestra "No enviado: se agotó la cuota de correos del modo de prueba de esta semana". La cuota se restablece cada semana. El modo activo no tiene este límite.

<Info>
  Los correos de inicio de sesión de Customer Portal nunca se envían en el modo de prueba y no consumen la cuota.
</Info>

## Leer correos mediante la API

La lista y el contenido también están disponibles mediante tu API key, por lo que puedes mostrar el estado de entrega en tus propias herramientas de soporte.

<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 elemento incluye `status`, el `failure_code` y `failure_reason` cuando el envío falló, y `has_preview` para indicar si existe contenido almacenado. También incluye un objeto `policies` que indica qué puedes hacer con la fila:

| Campo                        | Significado                                                               |
| ---------------------------- | ------------------------------------------------------------------------- |
| `resend_allowed`             | Puedes volver a enviar esta fila.                                         |
| `retry_allowed`              | El envío falló y puedes volver a intentarlo.                              |
| `resends_remaining`          | Cuántos reenvíos le quedan al correo.                                     |
| `requires_different_address` | La misma dirección volvería a fallar, por lo que debes proporcionar otra. |
| `superseded`                 | Un envío posterior del mismo correo sustituyó esta fila.                  |

Lee `policies` en lugar de derivar la elegibilidad por tu cuenta. El servidor aplica las reglas anteriores.

<CardGroup cols={2}>
  <Card title="Customer Management" icon="user-group" href="/features/customers">
    Gestiona clientes, historial de compras y acceso de autoservicio.
  </Card>

  <Card title="Communication Preferences" icon="bell" href="/features/communication-preferences">
    Elige qué correos envía Dodo Payments en tu nombre.
  </Card>
</CardGroup>
