# Zwischen API und SMTP wählen

> Vergleichen Sie die REST-API von Emailit mit dem SMTP-Relay Funktion für Funktion, von Vorlagen und Planung bis zu Idempotenz und Webhooks, und wählen Sie den passenden Weg.

Emailit nimmt transaktionale E-Mails auf zwei Wegen an: über die REST-API und über das SMTP-Relay. Diese Anleitung vergleicht beide, damit Sie sich für einen entscheiden oder beide im selben Workspace nutzen können.

## Die kurze Antwort

- **Nutzen Sie die API** für neuen Code. Sie kann mehr: Vorlagen, Planung, idempotente Wiederholungen, Metadaten, Tracking-Einstellungen pro E-Mail und eine JSON-Antwort mit einer ID für jeden Empfänger.
- **Nutzen Sie SMTP**, wenn Ihre Software bereits SMTP-Einstellungen hat, etwa ein CMS, ein Framework-Mailer, ein Helpdesk, ein Gerät oder eine Legacy-Anwendung. Sie ändern vier Einstellungen und sind fertig.

Beide verwenden dieselben API-Schlüssel, verifizierten Domains, dieselbe Sperrliste, dieselben Versandlimits, Logs und Webhooks. Sie können später wechseln, ohne DNS anzufassen.

## Funktionsvergleich

| Funktion | REST-API | SMTP-Relay |
| --- | --- | --- |
| Endpunkt | `POST https://api.emailit.com/v2/emails` | `smtp.emailit.com`, Ports 587, 465, 2525, 2587 und 25 |
| Authentifizierung | `Authorization: Bearer secret_…` | AUTH PLAIN oder LOGIN, Benutzername `emailit`, Passwort = API-Schlüssel |
| Inhalt | `html`, `text` oder eine gespeicherte Vorlage | Eine vollständige MIME-Nachricht, unverändert gesendet |
| Vorlagen und Variablen | `template` (ID oder Alias) plus `variables`, gerendert mit [Temple](/de/docs/templates/temple/) | Nicht verfügbar. Rendern Sie die Nachricht vor dem Senden. |
| Planung | `scheduled_at` im Format ISO 8601, als Unix-Zeitstempel oder in natürlicher Sprache auf Englisch wie `tomorrow at 9am` | Nicht verfügbar. E-Mails werden sofort in die Warteschlange gestellt. |
| Anhänge | `content` in Base64 oder eine `url`, die Emailit herunterlädt (jeweils bis zu 25 MB). `content_id` macht ein Bild zum eingebetteten Bild. | Standard-MIME-Teile |
| Nachrichtengröße | 40 MB | 40 MB |
| Empfänger pro Nachricht | Jeweils bis zu 50 in `to`, `cc` und `bcc` | Kein festes Limit pro Transaktion |
| Idempotenz | Header `Idempotency-Key`, Antwort wird 24 Stunden lang wiederholt ausgeliefert | Nicht verfügbar. Eine wiederholte Transaktion kann doppelt senden. |
| Metadaten | Objekt `meta`, in Webhook-Payloads zurückgegeben | Nicht verfügbar |
| Eigene Header | Objekt `headers` | Jeder Header in der Nachricht |
| Öffnungs- und Klick-Tracking | Pro E-Mail mit `tracking` oder Standard der Domain | Nur Standard der Domain |
| Webhooks `email.accepted` und `email.scheduled` | Ja | Nein. Spätere Events wie `email.delivered` und `email.bounced` funktionieren gleich. |
| E-Mail-IDs | Antwort enthält `id` sowie `ids` mit einer ID pro Empfänger | Abschließende Antwort `250 2.0.0 OK: queued as em_…` |
| Fehler | HTTP-Statuscodes mit JSON-Body | SMTP-Antwortcodes, z. B. `535` oder `550` |
| Versandlimits | Pro Workspace geteilt. `429` mit den Headern `ratelimit-*` und `retry-after`. | Pro Workspace geteilt. Antworten mit `452`. |
| Credits | 1 pro Empfänger | 1 pro Empfänger |
| Anfrage-Log | **Email API → Logs**, Quelle API | **Email API → Logs**, Quelle SMTP |

Nachdem eine E-Mail angenommen wurde, verhalten sich beide Kanäle gleich. Jeder Empfänger erhält eine `em_`-ID, erscheint unter **Email API → Emails** und kann in der Weboberfläche oder per API storniert, erneut gesendet oder weitergeleitet werden.

## Wann Sie die API nutzen

Wählen Sie die API, wenn Sie den Sendecode selbst schreiben, besonders wenn Sie eines der folgenden Dinge brauchen:

- **Vorlagen.** Designer bearbeiten eine Vorlage in der Weboberfläche, und Ihr Code sendet sie per Alias mit `variables`. Siehe [Vorlagen](/de/docs/templates/).
- **Sichere Wiederholungen.** Senden Sie mit jeder Anfrage einen `Idempotency-Key` und wiederholen Sie bei Netzwerkfehlern, ohne doppelt zu senden. Siehe [Idempotenz](/de/docs/email-api/idempotency/).
- **Planung.** Senden Sie eine Erinnerung für morgen früh ohne eigene Job-Warteschlange und verschieben oder stornieren Sie sie bis 3 Minuten vor dem Versand. Siehe [Planung](/de/docs/email-api/scheduling/).
- **Zuordnung.** Hängen Sie in `meta` Ihre eigenen IDs an und ordnen Sie Webhook-Events Ihren Datensätzen zu. Siehe [Header und Metadaten](/de/docs/email-api/headers-and-metadata/).
- **Klare Fehler.** Ein `422` für eine nicht verifizierte Domain oder ein `402` für fehlende Credits ist leichter zu behandeln als ein SMTP-Antworttext.

## Wann Sie SMTP nutzen

Wählen Sie SMTP, wenn Sie keinen Code ändern können oder wollen:

- **Standardsoftware** wie WordPress, ein Helpdesk oder ein Monitoring-Tool mit einer Seite für SMTP-Einstellungen.
- **Framework-Mailer**, die bereits per SMTP arbeiten, etwa in Laravel, Rails, Django oder Nodemailer. Sie können später zur API wechseln.
- **Schnelle Migrationen** von einem anderen Anbieter. Tauschen Sie Host, Port, Benutzername und Passwort aus und testen Sie.
- **Geräte und Skripte**, die nur SMTP sprechen, etwa Drucker, Scanner oder Cronjobs.

Was Sie wissen sollten, bevor Sie sich auf SMTP verlassen:

- Emailit liest per SMTP keine anbieterspezifischen Header. Das Tracking folgt den Einstellungen **Track loads** und **Track clicks** der Versanddomain.
- Emailit ersetzt Ihren Header `Message-ID` durch einen eigenen und entfernt den Header `Reply-To`, wenn er mit `From` übereinstimmt.
- Verwenden Sie immer TLS. Empfohlen ist Port 587 mit STARTTLS; Port 465 verwendet TLS ab dem ersten Byte. Siehe [SMTP-Einstellungen](/de/docs/smtp/settings/).

## Beide nutzen

Viele Teams nutzen beides: die API für E-Mails aus der Anwendung und SMTP für ein CMS oder interne Tools. Verwenden Sie für jeden Zweck einen eigenen API-Schlüssel, damit Sie die Versände in den Logs unterscheiden und einen Schlüssel neu generieren können, ohne den anderen zu beeinträchtigen. Ein Schlüssel mit **Sending Only**, der auf eine Domain beschränkt ist, eignet sich gut als SMTP-Zugangsdaten in Software von Drittanbietern. Siehe [API-Schlüssel](/de/docs/developers/api-keys/).

## Nächste Schritte

  - [Schnellstart mit der API](/de/docs/quickstart/api/): Ihre erste E-Mail mit cURL oder einem SDK senden.
  - [Schnellstart mit SMTP](/de/docs/quickstart/smtp/): Das Relay mit swaks, OpenSSL oder Python testen.
  - [E-Mail senden](/de/docs/email-api/send-email/): Jede Option des Sende-Endpunkts.
  - [SMTP-Einstellungen](/de/docs/smtp/settings/): Hosts, Ports, TLS und Antwortcodes.

---
Quelle: https://emailit.com/de/docs/get-started/api-or-smtp/
