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

# Wysyłanie wiadomości e-mail

> Wysyłanie e-maili aktywacyjnych, zaproszeń i e-maili resetowania hasła z wdrożenia Kubernetes.

Usługa **web** wysyła każdy e-mail (aktywacja, zaproszenia do projektów, resetowanie hasła) z każdego poda Ayakaleaf Pro. Ustawienia są takie same jak w Toolkit, zobacz [Wysyłanie wiadomości e-mail](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/overleaf-toolkit/email-delivery.md).

| | |
| - | - |
| Usługa | web, w każdym podzie Ayakaleaf Pro; odczytywane przy starcie web |
| Pod → na zewnątrz | Twój serwer SMTP (`OVERLEAF_EMAIL_SMTP_HOST`) lub API Amazon SES regionu `OVERLEAF_EMAIL_AWS_SES_REGION` |
| Stan | limit wysyłania w Redis |
| Zadania okresowe | brak |

### Konfiguracja

**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` włącza wysyłanie. Ustawiaj go tylko razem z serwerem SMTP (lub SES): przy samym nadawcy Ayakaleaf Pro próbuje użyć serwera SMTP wewnątrz poda i każdy e-mail kończy się niepowodzeniem. Bez niego e-maile nie są wysyłane, a jedynie zapisywane w `web.log`.

`OVERLEAF_EMAIL_SMTP_SECURE`, `OVERLEAF_EMAIL_SMTP_IGNORE_TLS` i `OVERLEAF_EMAIL_SMTP_TLS_REJECT_UNAUTH` są odczytywane jako JSON, więc używaj `"true"` lub `"false"`: wartość taka jak `yes` zatrzymuje wszystkie usługi poda przy starcie.

**2. Secret**

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

W przypadku API Amazon SES umieść tutaj zamiast tego `OVERLEAF_EMAIL_AWS_SES_ACCESS_KEY_ID` i `OVERLEAF_EMAIL_AWS_SES_SECRET_KEY`, a `OVERLEAF_EMAIL_DRIVER: ses` i `OVERLEAF_EMAIL_AWS_SES_REGION` w ConfigMap.

**3. Zastosuj, zrestartuj i przetestuj**

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

Wyślij sobie e-mail resetowania hasła ze strony logowania. Jeśli nie dotrze, sprawdź, czy serwer SMTP jest osiągalny z podów, i zajrzyj do logu 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
```

### Kilka replik

Nic dodatkowego. Każda replika wysyła z tymi samymi ustawieniami, a limit wysyłania jest liczony w Redis dla wszystkich replik łącznie. Jeśli Twój serwer SMTP akceptuje tylko znanych nadawców, zezwól na adresy, z których pody wychodzą z klastra (zwykle adresy węzłów).

### Przetestowano na Kubernetes

Z Mailpit jako serwerem SMTP, na Kubernetes 1.37 z jedną repliką, nasze testy end-to-end wysyłające e-maile przechodzą pomyślnie: e-mail aktywacyjny konta utworzonego przez administratora, e-mail aktywacyjny przy samodzielnej rejestracji ograniczonej do domen, e-mail resetowania hasła, e-mail informujący użytkownika o usunięciu jego konta oraz zachowanie, gdy serwer SMTP odrzuci e-mail aktywacyjny lub e-mail o usunięciu: konto i tak zostaje utworzone lub usunięte, a e-mail aktywacyjny można wysłać ponownie później. Przy ustawionym `OVERLEAF_EMAIL_FROM_ADDRESS` i braku hosta SMTP żądanie resetowania hasła zakończyło się błędem, a `web.log` pokazał „error sending message”, jak opisano powyżej.


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