# Odeslání prvního e-mailu přes SMTP

> Získejte přístupové údaje k SMTP, zvolte port a pošlete testovací e-mail přes smtp.emailit.com pomocí swaks, OpenSSL nebo Pythonu, a pak připojte svou aplikaci nebo framework.

Tento rychlý začátek ukazuje, jak z terminálu odeslat testovací e-mail přes SMTP relay Emailitu a pak připojit vlastní aplikaci. SMTP použijte, když váš software už má nastavení SMTP. Pro nový kód toho [API](/cs/docs/quickstart/api/) umí víc.

## Než začnete

- Ověřená odesílací doména. Pokud ji ještě nemáte, postupujte podle první části [rychlého začátku s API](/cs/docs/quickstart/api/#add-and-verify-your-domain) nebo podle stránky [Přidání odesílací domény](/cs/docs/domains/add-a-domain/).
- API klíč. Vytvořte ho v **Email API → API Keys** tlačítkem **Add API key**. Váš API klíč je vaše heslo k SMTP.

## Vaše přístupové údaje k SMTP

| Nastavení | Hodnota |
| --- | --- |
| Hostitel | `smtp.emailit.com` |
| Port | `587` se STARTTLS (doporučený). Alternativy najdete v tabulce níže. |
| Uživatelské jméno | `emailit` |
| Heslo | Váš API klíč, začíná na `secret_` |
| Autentizace | `PLAIN` nebo `LOGIN` |
| Adresa odesílatele | Jakákoli adresa na ověřené odesílací doméně, například `Acme <hello@acme.com>` |

Tato nastavení uvidíte také v panelu **SMTP Info**, když otevřete klíč v **Email API → API Keys**.

| Port | Šifrování | Kdy ho použít |
| --- | --- | --- |
| `587` | STARTTLS | Výchozí volba pro většinu aplikací a knihoven |
| `465` | TLS od prvního bajtu (implicitní TLS) | Když ho váš klient nazývá „SSL“ nebo „SMTPS“ |
| `2525` | STARTTLS | Když vaše síť nebo poskytovatel hostingu blokuje port 587 |
| `2587` | STARTTLS | Další alternativa, když jsou blokované porty 587 i 2525 |
| `25` | STARTTLS | Předávání mezi servery. Mnoho poskytovatelů cloudu odchozí port 25 blokuje. |

Relay nabízí TLS na každém portu, ale nevynucuje ho. Ve svém klientovi TLS vždy zapněte, aby se váš API klíč neposílal jako prostý text.

## Pošlete testovací e-mail

Vyberte si jeden z těchto nástrojů. Nahraďte `hello@acme.com` adresou na své ověřené doméně a `ada@example.com` e-mailovou adresou, se kterou jste se zaregistrovali.

> **Režim sandbox:** Dokud váš workspace nemá produkční přístup, můžete odesílat jen na e-mailové adresy účtů členů workspace. Ostatní příjemci se odmítnou s `550 Unverified workspaces can only send to workspace members' account emails`. Viz [Produkční přístup (ověření workspace)](/cs/docs/workspaces/production-access/).

### swaks

[swaks](https://github.com/jetmore/swaks) je nástroj pro testování SMTP z příkazové řádky. Nainstalujte ho příkazem `brew install swaks` nebo `apt install swaks` a pak spusťte:

```bash
swaks --server smtp.emailit.com:587 --tls \
  --auth-user emailit --auth-password "$EMAILIT_API_KEY" \
  --from hello@acme.com --to ada@example.com \
  --header "Subject: Hello from Emailit SMTP" \
  --body "This is my first email sent through the Emailit SMTP relay."
```

swaks vypíše celou SMTP komunikaci. Poslední odpověď serveru obsahuje ID e-mailu:

```text
<~  250 2.0.0 OK: queued as em_2pX7cN4kQ9vLm3RtB8yWd1Zs
```

### OpenSSL

OpenSSL je předinstalovaný na většině systémů a umožňuje vám psát příkazy SMTP ručně. Nejdřív zakódujte své přístupové údaje pro `AUTH PLAIN`:

```bash
printf '\0emailit\0%s' "$EMAILIT_API_KEY" | base64
```

Pak otevřete spojení a napište příkazy níže; za `AUTH PLAIN` vložte zakódovaný řetězec:

```bash
openssl s_client -connect smtp.emailit.com:587 -starttls smtp -crlf -quiet
```

```text
EHLO localhost
AUTH PLAIN AGVtYWlsaXQAc2VjcmV0X...
MAIL FROM:<hello@acme.com>
RCPT TO:<ada@example.com>
DATA
From: Acme <hello@acme.com>
To: ada@example.com
Subject: Hello from Emailit SMTP

This is my first email sent through the Emailit SMTP relay.
.
QUIT
```

Po `AUTH PLAIN` server odpoví `235`. Po řádku s jedinou `.` odpoví `250 2.0.0 OK: queued as em_…`.

### Python

Vestavěná knihovna `smtplib` v Pythonu nepotřebuje žádné další balíčky:

```python title="send_smtp.py"
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "Acme <hello@acme.com>"
msg["To"] = "ada@example.com"
msg["Subject"] = "Hello from Emailit SMTP"
msg.set_content("This is my first email sent through the Emailit SMTP relay.")
msg.add_alternative("<p>This is my first email sent through the Emailit SMTP relay.</p>", subtype="html")

with smtplib.SMTP("smtp.emailit.com", 587) as smtp:
    smtp.starttls()
    smtp.login("emailit", os.environ["EMAILIT_API_KEY"])
    smtp.send_message(msg)

print("Accepted by Emailit")
```

Pokud skript skončí bez výjimky, Emailit e-mail přijal.

## Zkontrolujte ho ve webovém rozhraní

Přejděte do **Email API → Emails**. Váš e-mail je nahoře na kartě **Outgoing** a jeho stav se změní z **accepted** na **delivered**, jakmile ho přijme server příjemce. Každá SMTP relace se také zobrazí v **Email API → Logs** se zdrojem **SMTP**, takže uvidíte i neúspěšná přihlášení a odmítnuté zprávy.

## Časté odpovědi

| Odpověď | Příčina | Řešení |
| --- | --- | --- |
| `535 Authentication failed` | Chybný nebo smazaný API klíč | Jako heslo použijte aktuální API klíč. Viz [Chyby 535](/cs/docs/kb/smtp-535-authentication-failed/). |
| `530 From/Sender domain is not verified for this workspace` | Adresa odesílatele není na ověřené doméně | Ověřte doménu, nebo změňte adresu odesílatele. Viz [Chyby 530](/cs/docs/kb/smtp-530-from-domain-not-verified/). |
| `550 Unverified workspaces can only send to workspace members' account emails` | Režim sandbox | Odešlete e-mail na adresu účtu některého člena, nebo požádejte o produkční přístup |
| `452 4.4.5 Messages per second limit exceeded` | Překročení vašeho limitu za sekundu | Zpomalte a zkuste to znovu. Limity jsou společné s API. |
| `452 4.5.3 Daily message limit exceeded` | Dosáhli jste dnešního limitu | Počkejte do půlnoci UTC, nebo [požádejte o navýšení](/cs/docs/limits/) |
| Vypršení časového limitu spojení | Vaše síť blokuje port | Zkuste `2525` nebo `2587`. Viz [Vypršení časového limitu spojení](/cs/docs/kb/smtp-connection-timeout-port-25/). |

Všechny kódy odpovědí najdete na stránce [Řešení problémů se SMTP](/cs/docs/smtp/troubleshooting/).

## Připojte svou aplikaci

Zadejte stejná nastavení do své aplikace nebo frameworku. Přesnou konfiguraci ukazují tyto návody:

  - [Laravel](/cs/docs/frameworks/laravel/)
  - [PHP](/cs/docs/frameworks/php/)
  - [WordPress](/cs/docs/frameworks/wordpress/)
  - [Node.js](/cs/docs/frameworks/nodejs/)
  - [Next.js](/cs/docs/frameworks/nextjs/)
  - [Nuxt](/cs/docs/frameworks/nuxt/)
  - [Python](/cs/docs/frameworks/python/)
  - [Rails](/cs/docs/frameworks/rails/)
  - [Go](/cs/docs/frameworks/go/)
  - [Java](/cs/docs/frameworks/java/)
  - [.NET](/cs/docs/frameworks/dotnet/)

## Další kroky

  - [Nastavení SMTP](/cs/docs/smtp/settings/): Porty, TLS, velikost zpráv a jak Emailit zachází s vašimi hlavičkami.
  - [Hlavičky SMTP](/cs/docs/smtp/headers/): Které hlavičky Emailit přidává, mění nebo odstraňuje.
  - [Nastavení webhooku](/cs/docs/webhooks/set-up/): Dostávejte události o doručení a nedoručení i pro e-maily odeslané přes SMTP.
  - [API, nebo SMTP](/cs/docs/get-started/api-or-smtp/): Co umí API a SMTP ne.

---
Zdroj: https://emailit.com/cs/docs/quickstart/smtp/
