---
title: "SMTP-Verbindung testen"
description: "Testet die SMTP-Konfiguration durch Versand einer Test-E-Mail. Alle Parameter sind optional. Wenn weggelassen, werden die gespeicherten Konfigurationswerte verwendet. So kannst du neue Zugangsdaten testen, bevor du sie speicherst. Nur für Admins."
---

`POST /api/organization/smtp/test`

Der Test aktualisiert außerdem die Felder `lastTestedAt`, `lastTestStatus` und `lastTestError` der SMTP-Konfiguration.

## Anfrage (Request Body): alle optional

| Field | Type | Description |
|-------|------|-------------|
| `toEmail` | string | Empfänger-E-Mail-Adresse (max. 320 Zeichen). Standardwert ist die E-Mail des aktuellen Benutzers. |
| `subject` | string | E-Mail-Betreff (1-200 Zeichen). Standardwert ist `SMTP Test (<timestamp>)`. |
| `message` | string | E-Mail-Text (1-2000 Zeichen). Standardwert ist eine Standard-Testnachricht. |
| `host` | string\|null | SMTP-Server-Hostname (1-255 Zeichen). Überschreibt die gespeicherte Konfiguration. |
| `port` | number\|null | SMTP-Server-Port (1-65535). Überschreibt die gespeicherte Konfiguration. |
| `username` | string\|null | SMTP-Benutzername (1-200 Zeichen). Überschreibt die gespeicherte Konfiguration. |
| `password` | string\|null | SMTP-Passwort (1-500 Zeichen). Überschreibt die gespeicherte Konfiguration (wird nicht gespeichert). |
| `tlsMode` | string\|null | `ssl`, `starttls` oder `none`. Überschreibt die gespeicherte Konfiguration. |
| `fromName` | string\|null | Anzeigename des Absenders (1-200 Zeichen). Überschreibt die gespeicherte Konfiguration. |
| `fromEmail` | string\|null | Absender-E-Mail-Adresse (max. 320 Zeichen). Überschreibt die gespeicherte Konfiguration. |
| `replyTo` | string\|null | Reply-To-E-Mail-Adresse (max. 320 Zeichen). Überschreibt die gespeicherte Konfiguration. |

## Beispiel (cURL): Mit gespeicherter Konfiguration

```bash
curl -X POST "$BASE_URL/api/organization/smtp/test" \
  -H "Cookie: $SESSION_COOKIE" \
  -H "Content-Type: application/json" \
  -d '{}'
```

## Beispiel (cURL): Neue Zugangsdaten testen

```bash
curl -X POST "$BASE_URL/api/organization/smtp/test" \
  -H "Cookie: $SESSION_COOKIE" \
  -H "Content-Type: application/json" \
  -d '{
    "host": "smtp.deinkunde.com",
    "port": 587,
    "tlsMode": "starttls",
    "username": "alerts@deinkunde.com",
    "password": "secret-password",
    "fromName": "Uptimeify Alerts",
    "fromEmail": "alerts@deinkunde.com",
    "toEmail": "admin@deinkunde.com"
  }'
```

## Antwort (Erfolg)

```json
{
  "success": true,
  "messageId": "<abc123@mail.deinkunde.com>"
}
```

## Häufige Fehler

- `400 Missing recipient email (toEmail)` wenn kein Empfänger angegeben ist und der Benutzer keine E-Mail hat
- `400 SMTP config incomplete (host/port required)` wenn Host oder Port fehlt
- `400 SMTP config incomplete (username required)` wenn ein Benutzername benötigt wird, aber fehlt
- `400 SMTP password missing (username is set)` wenn ein Passwort benötigt wird, aber fehlt
- `400 SMTP config incomplete (fromEmail required)` wenn fromEmail fehlt
- `403 Forbidden` wenn du kein Admin bist
- `502 Failed to send SMTP test email` wenn die SMTP-Verbindung fehlschlägt
