# Hlavičky a odpovědi SMTP

> Které hlavičky Emailit u pošty přes SMTP přidává, přepisuje nebo odstraňuje, jak z odpovědi 250 přečíst ID e-mailů a jak sami přidat List-Unsubscribe.

Emailit předává zprávu MIME, kterou odešlete přes SMTP, většinou beze změny, ale upraví několik hlaviček, aby zpráva prošla ověřením a dala se měřit. Tato stránka tyto změny uvádí, vysvětluje odpověď `250`, která obsahuje nová ID e-mailů, a popisuje hlavičky, které musíte přidat sami.

## Hlavičky, které Emailit přidává nebo přepisuje

| Hlavička | Co Emailit dělá |
| --- | --- |
| `Received` | Přidá trasovací hlavičky pro relay a pro poštovní server Emailitu, který zprávu doručuje. |
| `Message-ID` | Nahradí vaši hodnotu za `<token@your-domain>`, kde doména je ta z vaší adresy odesílatele. Kopie pro každého příjemce dostane vlastní Message-ID. |
| `Date` | Nastaví ji, když Emailit zprávu poprvé zpracovává k doručení. |
| `Subject` | Přepíše ji z dekódovaného předmětu a znovu zakóduje znaky mimo ASCII. |
| `Return-Path` | Nastaví adresu pro nedoručené zprávy na vaší subdoméně return path, `emailit.<your-domain>`. Stejná adresa se použije jako odesílatel v obálce, takže SPF pro vaši doménu projde. |
| `X-Emailit-ID` | Přidá token e-mailu. |
| `Feedback-ID` | Přidá identifikátor, který poskytovatelé schránek používají v hlášeních o stížnostech. |
| `DKIM-Signature` | Podepíše zprávu klíčem DKIM vaší domény (ve výchozím stavu selektor `emailit`). Pro feedback loopy se stížnostmi může přibýt druhý podpis pro `emailitmail.com`. |

Podpis DKIM pokrývá mimo jiné hlavičky `From`, `To`, `Cc`, `Subject`, `Date`, `Message-ID`, `Reply-To`, hlavičky MIME a `List-*`. Po podepsání Emailitem zprávu neměňte, například e-mailovou konferencí, která přepisuje předmět, jinak podpis neprojde.

## Hlavičky, které Emailit odstraňuje

| Hlavička | Kdy |
| --- | --- |
| `Bcc` | Vždy, aby příjemci skryté kopie zůstali skrytí. |
| `Reply-To` | Když uvádí stejnou adresu jako `From`. Některé spamové filtry nadbytečnou hlavičku Reply-To penalizují. |
| `Content-Disposition` | Na nejvyšší úrovni zprávy. Části s přílohami si ji ponechávají. |

Vše ostatní, včetně vašich vlastních hlaviček `X-`, se doručí beze změny.

## Řídicí hlavičky se přes SMTP nečtou

> **Pro řízení jednotlivých e-mailů použijte API:** SMTP relay nečte žádnou hlavičku `X-Emailit-*`. Hlavičkami nenastavíte měření, metadata, šablonu ani čas odeslání. Měření se řídí nastavením **Track loads** a **Track clicks** odesílací domény v **Email API → Domains**. Pro řízení jednotlivých e-mailů použijte [e-mailové API](/cs/docs/email-api/send-email/).

Do zpráv, které odesíláte, nevkládejte hlavičku `X-Emailit-ID`. Emailit podle ní poznává zprávy, které už zpracoval, a zpráva, která ji má, přeskočí přepis hlaviček a podepsání DKIM popsané výše.

## Odpověď 250

Když relay zprávu přijme, jeho odpověď na konec `DATA` uvádí ID e-mailů, která Emailit vytvořil, jedno pro každého příjemce:

```text
250 2.0.0 OK: queued as em_33VtK8mRq1xZp7LwN4cY2bHsDfa, em_33VtK8nB5rTq0YxW3mJk9PdLsUe
```

- `2.0.0` je rozšířený stavový kód pro úspěch.
- Každé ID `em_` je stejné ID, jaké pro e-mail daného příjemce používá API, webové rozhraní a webhooky.
- Řádek odpovědi má omezenou délku. Pokud se všechna ID nevejdou, k čemuž dochází zhruba od 15 příjemců, odpověď obsahuje jen první ID. Ostatní najdete v **Email API → Emails** nebo ve webhookových událostech.

Většina knihoven odpověď zpřístupňuje. V Nodemaileru je to `info.response`. V PHPMaileru zavolejte po `send()` metodu `$mail->getSMTPInstance()->getLastReply()`. Uložte si ID ke svému záznamu, abyste mohli párovat [webhookové události](/cs/docs/webhooks/event-types/), nebo e-mail později dohledat endpointem [Načtení e-mailu](/cs/docs/api-reference/emails/get/).

## Přidejte List-Unsubscribe sami

Emailit přidává hlavičky `List-Unsubscribe` jen do e-mailů z [kampaní](/cs/docs/campaigns/). Pokud přes SMTP posíláte newslettery nebo jinou hromadnou poštu, přidejte do zprávy obě hlavičky sami:

```text
List-Unsubscribe: <https://acme.com/unsubscribe?u=881&l=digest>, <mailto:unsubscribe@acme.com?subject=unsubscribe-881>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
```

URL s `https` musí přijímat `POST` s tělem `List-Unsubscribe=One-Click` a osobu odhlásit bez potvrzovacího kroku (RFC 8058). Emailit obě hlavičky zahrne do podpisu DKIM, což Gmail a Yahoo pro odhlášení jedním kliknutím vyžadují.

**Node.js**

```javascript
await transporter.sendMail({
  from: 'Acme <news@acme.com>',
  to: 'ada@example.com',
  subject: 'Acme weekly digest',
  html: '<p>This week at Acme…</p>',
  headers: {
    'List-Unsubscribe': '<https://acme.com/unsubscribe?u=881&l=digest>',
    'List-Unsubscribe-Post': 'List-Unsubscribe=One-Click',
  },
});
```

**Python**

```python
msg["List-Unsubscribe"] = "<https://acme.com/unsubscribe?u=881&l=digest>"
msg["List-Unsubscribe-Post"] = "List-Unsubscribe=One-Click"
```

**PHP**

```php
$mail->addCustomHeader('List-Unsubscribe', '<https://acme.com/unsubscribe?u=881&l=digest>');
$mail->addCustomHeader('List-Unsubscribe-Post', 'List-Unsubscribe=One-Click');
```

## Související

- [Nastavení SMTP](/cs/docs/smtp/settings/)
- [Hlavičky a metadata](/cs/docs/email-api/headers-and-metadata/) pro odesílání přes API
- [Slovník e-mailových hlaviček](/cs/docs/dictionary/email-headers/)
- [Měření otevření a prokliků](/cs/docs/tracking/)

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