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

# E-Mail-Zustellung

> Aktivierungs-, Einladungs- und Passwort-Zurücksetzungs-E-Mails aus einem Kubernetes-Deployment versenden.

Der **web**-Dienst versendet jede E-Mail (Aktivierung, Projekteinladungen, Zurücksetzen des Passworts) aus jedem Ayakaleaf-Pro-Pod. Die Einstellungen sind dieselben wie beim Toolkit, siehe [E-Mail-Zustellung](https://ayakaleaf-pro.mintlify.site/de/on-premises/configuration/overleaf-toolkit/email-delivery.md).

| | |
| - | - |
| Dienst | web, in jedem Ayakaleaf-Pro-Pod; beim Start von web gelesen |
| Pod → außen | Ihr SMTP-Server (`OVERLEAF_EMAIL_SMTP_HOST`) oder die Amazon-SES-API von `OVERLEAF_EMAIL_AWS_SES_REGION` |
| Zustand | die Ratenbegrenzung für den Versand in Redis |
| Periodische Jobs | keine |

### Konfiguration

**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` aktiviert den Versand. Setzen Sie es nur zusammen mit dem SMTP-Server (oder SES): Mit dem Absender allein versucht Ayakaleaf Pro, einen SMTP-Server innerhalb des Pods zu verwenden, und jede E-Mail schlägt fehl. Ohne diese Einstellung werden E-Mails nicht versendet, sondern nur in `web.log` geschrieben.

`OVERLEAF_EMAIL_SMTP_SECURE`, `OVERLEAF_EMAIL_SMTP_IGNORE_TLS` und `OVERLEAF_EMAIL_SMTP_TLS_REJECT_UNAUTH` werden als JSON gelesen, verwenden Sie daher `"true"` oder `"false"`: Ein Wert wie `yes` stoppt beim Start jeden Dienst des Pods.

**2. Secret**

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

Für die Amazon-SES-API tragen Sie stattdessen `OVERLEAF_EMAIL_AWS_SES_ACCESS_KEY_ID` und `OVERLEAF_EMAIL_AWS_SES_SECRET_KEY` hier ein, sowie `OVERLEAF_EMAIL_DRIVER: ses` und `OVERLEAF_EMAIL_AWS_SES_REGION` in die ConfigMap.

**3. Anwenden, neu starten und testen**

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

Senden Sie sich über die Anmeldeseite eine E-Mail zum Zurücksetzen des Passworts. Wenn sie nicht ankommt, prüfen Sie, ob der SMTP-Server von den Pods aus erreichbar ist, und sehen Sie sich das web-Log an:

```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
```

### Mehrere Replikate

Nichts weiter. Jedes Replikat versendet mit denselben Einstellungen, und die Ratenbegrenzung für den Versand wird in Redis über alle Replikate hinweg gezählt. Wenn Ihr SMTP-Server nur bekannte Absender akzeptiert, erlauben Sie die Adressen, mit denen die Pods den Cluster verlassen (üblicherweise die der Knoten).

### Getestet auf Kubernetes

Mit Mailpit als SMTP-Server bestehen auf Kubernetes 1.37 mit einem Replikat unsere End-to-End-Tests, die E-Mails versenden: die Aktivierungs-E-Mail eines von einem Administrator erstellten Kontos, die Aktivierungs-E-Mail einer auf Domains beschränkten Selbstregistrierung, die E-Mail zum Zurücksetzen des Passworts, die E-Mail, die einem Benutzer mitteilt, dass sein Konto gelöscht wurde, sowie das Verhalten, wenn der SMTP-Server eine Aktivierungs- oder Lösch-E-Mail ablehnt: Das Konto wird trotzdem erstellt bzw. gelöscht, und die Aktivierungs-E-Mail kann später erneut gesendet werden. Mit `OVERLEAF_EMAIL_FROM_ADDRESS` und ohne SMTP-Host schlug eine Anfrage zum Zurücksetzen des Passworts mit einem Fehler fehl, und `web.log` zeigte "error sending message", wie oben beschrieben.


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