> ## 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.

# Invio delle email

> Inviare email di attivazione, di invito e di reimpostazione della password da un deployment Kubernetes.

Il servizio **web** invia tutte le email (attivazione, inviti ai progetti, reimpostazione della password) da ogni pod di Ayakaleaf Pro. Le impostazioni sono le stesse del Toolkit, vedi [Invio delle email](https://ayakaleaf-pro.mintlify.site/it/on-premises/configuration/overleaf-toolkit/email-delivery.md).

| | |
| - | - |
| Servizio | web, in ogni pod di Ayakaleaf Pro; letto all'avvio di web |
| Pod → esterno | il tuo server SMTP (`OVERLEAF_EMAIL_SMTP_HOST`), oppure l'API Amazon SES di `OVERLEAF_EMAIL_AWS_SES_REGION` |
| Stato | il limite di frequenza di invio in Redis |
| Job periodici | nessuno |

### Configurazione

**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` attiva l'invio. Impostalo solo insieme al server SMTP (o a SES): con il solo mittente, Ayakaleaf Pro prova a usare un server SMTP all'interno del pod e ogni email fallisce. Senza di esso, le email non vengono inviate, ma solo scritte in `web.log`.

`OVERLEAF_EMAIL_SMTP_SECURE`, `OVERLEAF_EMAIL_SMTP_IGNORE_TLS` e `OVERLEAF_EMAIL_SMTP_TLS_REJECT_UNAUTH` vengono letti come JSON, quindi usa `"true"` o `"false"`: un valore come `yes` blocca tutti i servizi del pod all'avvio.

**2. Secret**

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

Per l'API Amazon SES, inserisci invece qui `OVERLEAF_EMAIL_AWS_SES_ACCESS_KEY_ID` e `OVERLEAF_EMAIL_AWS_SES_SECRET_KEY`, e `OVERLEAF_EMAIL_DRIVER: ses` e `OVERLEAF_EMAIL_AWS_SES_REGION` nella ConfigMap.

**3. Applica, riavvia e verifica**

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

Invia a te stesso un'email di reimpostazione della password dalla pagina di accesso. Se non arriva, verifica che il server SMTP sia raggiungibile dai pod e consulta il log di 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
```

### Più repliche

Non serve altro. Ogni replica invia con le stesse impostazioni, e il limite di frequenza di invio viene conteggiato in Redis su tutte le repliche. Se il tuo server SMTP accetta solo mittenti noti, consenti gli indirizzi con cui i pod escono dal cluster (di solito quelli dei nodi).

### Testato su Kubernetes

Con Mailpit come server SMTP, su Kubernetes 1.37 con una replica, i nostri test end-to-end che inviano email vengono superati: l'email di attivazione di un account creato da un amministratore, l'email di attivazione di un'auto-registrazione limitata a determinati domini, l'email di reimpostazione della password, l'email che comunica a un utente che il suo account è stato eliminato, e cosa succede quando il server SMTP rifiuta un'email di attivazione o di eliminazione: l'account viene comunque creato o eliminato, e l'email di attivazione può essere inviata di nuovo in seguito. Con `OVERLEAF_EMAIL_FROM_ADDRESS` e senza host SMTP, una richiesta di reimpostazione della password è fallita con un errore e `web.log` ha mostrato "error sending message", come descritto sopra.


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