> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Envío de correo electrónico

> Envía correos de activación, de invitación y de restablecimiento de contraseña desde un despliegue de Kubernetes.

El servicio **web** envía todos los correos electrónicos (activación, invitaciones a proyectos, restablecimiento de contraseña) desde cada pod de Ayakaleaf Pro. Los ajustes son los mismos que en el Toolkit; consulta [Envío de correo electrónico](https://ayakaleaf-pro.mintlify.site/es/on-premises/configuration/overleaf-toolkit/email-delivery.md).

| | |
| - | - |
| Servicio | web, en cada pod de Ayakaleaf Pro; se lee cuando web arranca |
| Pod → exterior | tu servidor SMTP (`OVERLEAF_EMAIL_SMTP_HOST`), o la API de Amazon SES de `OVERLEAF_EMAIL_AWS_SES_REGION` |
| Estado | el límite de frecuencia de envío en Redis |
| Tareas periódicas | ninguna |

### Configuración

**1. ConfigMap**

```yaml title="30-config.yaml (additions)" wrap theme={null}
  OVERLEAF_EMAIL_FROM_ADDRESS: no-reply@example.com
  OVERLEAF_EMAIL_SMTP_HOST: smtp.example.com
  OVERLEAF_EMAIL_SMTP_PORT: "587"
  OVERLEAF_EMAIL_SMTP_SECURE: "false"
  OVERLEAF_EMAIL_SMTP_USER: no-reply@example.com
  # optional
  # OVERLEAF_EMAIL_REPLY_TO: support@example.com
  # OVERLEAF_EMAIL_SMTP_IGNORE_TLS: "false"
  # OVERLEAF_EMAIL_SMTP_TLS_REJECT_UNAUTH: "true"
```

`OVERLEAF_EMAIL_FROM_ADDRESS` activa el envío. Defínelo solo junto con el servidor SMTP (o SES): con únicamente el remitente, Ayakaleaf Pro intenta usar un servidor SMTP dentro del pod y todos los correos fallan. Sin él, los correos no se envían, solo se escriben en `web.log`.

`OVERLEAF_EMAIL_SMTP_SECURE`, `OVERLEAF_EMAIL_SMTP_IGNORE_TLS` y `OVERLEAF_EMAIL_SMTP_TLS_REJECT_UNAUTH` se leen como JSON, así que usa `"true"` o `"false"`: un valor como `yes` detiene todos los servicios del pod al arrancar.

**2. Secret**

```bash theme={null}
kubectl -n overleaf patch secret overleaf-secrets --type merge \
  -p '{"stringData":{"OVERLEAF_EMAIL_SMTP_PASS":"<SMTP password>"}}'
```

Para la API de Amazon SES, pon aquí en su lugar `OVERLEAF_EMAIL_AWS_SES_ACCESS_KEY_ID` y `OVERLEAF_EMAIL_AWS_SES_SECRET_KEY`, y `OVERLEAF_EMAIL_DRIVER: ses` y `OVERLEAF_EMAIL_AWS_SES_REGION` en el ConfigMap.

**3. Aplica, reinicia y prueba**

```bash theme={null}
kubectl apply -f 30-config.yaml
kubectl -n overleaf rollout restart deployment/overleaf     # or statefulset/overleaf
```

Envíate un correo de restablecimiento de contraseña desde la página de inicio de sesión. Si no llega, comprueba que el servidor SMTP es accesible desde los pods y revisa el log de web:

```bash theme={null}
kubectl -n overleaf exec deploy/overleaf -- bash -c 'echo > /dev/tcp/smtp.example.com/587 && echo reachable'
kubectl -n overleaf exec deploy/overleaf -- grep -iE "email|smtp" /var/log/overleaf/web.log | tail
```

### Varias réplicas

No hace falta nada más. Todas las réplicas envían con los mismos ajustes, y el límite de frecuencia de envío se cuenta en Redis para todas las réplicas. Si tu servidor SMTP solo acepta remitentes conocidos, permite las direcciones con las que los pods salen del clúster (normalmente las de los nodos).

### Probado en Kubernetes

Con Mailpit como servidor SMTP, en Kubernetes 1.37 con una réplica, nuestras pruebas de extremo a extremo que envían correo se superan: el correo de activación de una cuenta creada por un administrador, el correo de activación de un autorregistro limitado a dominios, el correo de restablecimiento de contraseña, el correo que informa a un usuario de que su cuenta se ha eliminado, y lo que ocurre cuando el servidor SMTP rechaza un correo de activación o de eliminación: la cuenta se crea o se elimina igualmente, y el correo de activación puede volver a enviarse más tarde. Con `OVERLEAF_EMAIL_FROM_ADDRESS` y sin host SMTP, una solicitud de restablecimiento de contraseña falló con un error y `web.log` mostró "error sending message", como se describe arriba.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.