# Volba mezi API a SMTP

> Porovnejte REST API Emailitu se SMTP relay funkci po funkci, od šablon a plánování po idempotenci a webhooky, a vyberte si správnou možnost.

Emailit přijímá transakční e-maily dvěma způsoby: přes REST API a přes SMTP relay. Tento průvodce je porovnává, abyste si mohli vybrat jeden z nich, nebo používat oba ve stejném workspace.

## Stručná odpověď

- **Pro nový kód použijte API.** Umí víc: šablony, plánování, idempotentní opakování, metadata, nastavení měření pro jednotlivé e-maily a odpověď JSON s ID pro každého příjemce.
- **SMTP použijte**, když software, který provozujete, už má nastavení SMTP, například CMS, mailer frameworku, helpdesk, zařízení nebo starší aplikace. Změníte čtyři nastavení a máte hotovo.

Obojí používá stejné API klíče, ověřené domény, seznam blokovaných adres, limity odesílání, logy a webhooky. Později můžete přejít bez zásahu do DNS.

## Srovnání funkcí

| Funkce | REST API | SMTP relay |
| --- | --- | --- |
| Endpoint | `POST https://api.emailit.com/v2/emails` | `smtp.emailit.com`, porty 587, 465, 2525, 2587 a 25 |
| Autentizace | `Authorization: Bearer secret_…` | AUTH PLAIN nebo LOGIN, uživatelské jméno `emailit`, heslo = API klíč |
| Obsah | `html`, `text`, nebo uložená šablona | Kompletní zpráva MIME, odeslaná tak, jak je |
| Šablony a proměnné | `template` (ID nebo alias) a `variables`, vykreslené jazykem [Temple](/cs/docs/templates/temple/) | Nedostupné. Zprávu vykreslete před odesláním. |
| Plánování | `scheduled_at` ve formátu ISO 8601, jako unixové časové razítko, nebo běžnou angličtinou, například `tomorrow at 9am` | Nedostupné. E-mail se zařadí do fronty hned. |
| Přílohy | Base64 v `content`, nebo `url`, ze které Emailit soubor stáhne (každá až 25 MB). `content_id` udělá z obrázku vložený obrázek. | Standardní části MIME |
| Velikost zprávy | 40 MB | 40 MB |
| Příjemci na zprávu | Až 50 v každém z polí `to`, `cc` a `bcc` | Pevný limit na transakci není |
| Idempotence | Hlavička `Idempotency-Key`, odpověď se 24 hodin přehrává znovu | Nedostupné. Opakovaná transakce může e-mail odeslat dvakrát. |
| Metadata | Objekt `meta`, vracený v obsahu webhookových událostí | Nedostupné |
| Vlastní hlavičky | Objekt `headers` | Jakákoli hlavička ve zprávě |
| Měření otevření a prokliků | Pro každý e-mail přes `tracking`, nebo výchozí nastavení domény | Jen výchozí nastavení domény |
| Webhooky `email.accepted` a `email.scheduled` | Ano | Ne. Pozdější události jako `email.delivered` a `email.bounced` fungují stejně. |
| ID e-mailů | Odpověď obsahuje `id` a `ids` s jedním ID na příjemce | Závěrečná odpověď `250 2.0.0 OK: queued as em_…` |
| Chyby | Stavové kódy HTTP s tělem JSON | Kódy odpovědí SMTP, například `535` nebo `550` |
| Limity odesílání | Společné pro workspace. `429` s hlavičkami `ratelimit-*` a `retry-after`. | Společné pro workspace. Odpovědi `452`. |
| Kredity | 1 za příjemce | 1 za příjemce |
| Log požadavků | **Email API → Logs**, zdroj API | **Email API → Logs**, zdroj SMTP |

Po přijetí e-mailu se oba kanály chovají stejně. Každý příjemce dostane ID `em_`, objeví se v **Email API → Emails** a e-mail lze zrušit, odeslat znovu nebo přeposlat z webového rozhraní i přes API.

## Kdy použít API

API zvolte, když kód pro odesílání píšete sami, zejména pokud potřebujete některou z těchto věcí:

- **Šablony.** Designéři upravují šablonu ve webovém rozhraní a váš kód ji odesílá podle aliasu s `variables`. Viz [Šablony](/cs/docs/templates/).
- **Bezpečné opakování.** S každým požadavkem pošlete `Idempotency-Key` a při chybách sítě můžete požadavek zopakovat, aniž by se e-mail odeslal dvakrát. Viz [Idempotentní požadavky](/cs/docs/email-api/idempotency/).
- **Plánování.** Pošlete připomínku na zítřejší ráno bez vlastní fronty úloh a přeplánujte nebo ji zrušte až do 3 minut před odesláním. Viz [Plánování a rušení e-mailů](/cs/docs/email-api/scheduling/).
- **Párování.** Připojte vlastní ID v `meta` a párujte webhookové události se svými záznamy. Viz [Hlavičky a metadata](/cs/docs/email-api/headers-and-metadata/).
- **Srozumitelné chyby.** `422` u neověřené domény nebo `402` při nedostatku kreditů se zpracovává snáz než textová odpověď SMTP.

## Kdy použít SMTP

SMTP zvolte, když kód měnit nemůžete, nebo nechcete:

- **Hotový software**, například WordPress, helpdesk nebo monitorovací nástroj se stránkou nastavení SMTP.
- **Mailery frameworků**, které už fungují přes SMTP, například Laravel, Rails, Django nebo Nodemailer. Na API můžete přejít později.
- **Rychlé přechody** od jiného poskytovatele. Vyměňte hostitele, port, uživatelské jméno a heslo a otestujte to.
- **Zařízení a skripty**, které umí jen SMTP, například tiskárny, skenery nebo úlohy cron.

Co je dobré vědět, než se na SMTP spolehnete:

- Emailit přes SMTP nečte hlavičky specifické pro jiné poskytovatele. Měření se řídí nastavením **Track loads** a **Track clicks** odesílací domény.
- Emailit nahrazuje vaši hlavičku `Message-ID` vlastní a odstraňuje hlavičku `Reply-To`, když je stejná jako `From`.
- Vždy používejte TLS. Doporučujeme port 587 se STARTTLS, port 465 používá TLS od prvního bajtu. Viz [Nastavení SMTP](/cs/docs/smtp/settings/).

## Používejte obojí

Mnoho týmů používá obojí: API pro e-maily z aplikace a SMTP pro CMS nebo interní nástroje. Pro každé použití mějte samostatný API klíč, abyste je v logech rozlišili a mohli jeden znovu vygenerovat, aniž byste rozbili druhý. Pro přístupové údaje k SMTP uložené v softwaru třetí strany se dobře hodí klíč **Sending Only** omezený na jednu doménu. Viz [API klíče](/cs/docs/developers/api-keys/).

## Další kroky

  - [Rychlý začátek s API](/cs/docs/quickstart/api/): Odešlete první e-mail přes cURL nebo SDK.
  - [Rychlý začátek se SMTP](/cs/docs/quickstart/smtp/): Otestujte relay pomocí swaks, OpenSSL nebo Pythonu.
  - [Odeslání e-mailu](/cs/docs/email-api/send-email/): Všechny možnosti endpointu pro odeslání.
  - [Nastavení SMTP](/cs/docs/smtp/settings/): Hostitelé, porty, TLS a kódy odpovědí.

---
Zdroj: https://emailit.com/cs/docs/get-started/api-or-smtp/
