# Specyfikacja Uwierzytelniania E-mail: SPF, DKIM i DMARC

Uwierzytelnianie wiadomości e-mail to zbiór mechanizmów (SPF, DKIM, DMARC) służących do weryfikacji tożsamości nadawcy i integralności wiadomości. Prawidłowa implementacja tych standardów jest technicznym wymogiem globalnych dostawców poczty (m.in. Google i Yahoo) i fundamentalnym elementem wpływającym na dostarczalność.

## **SPF (Sender Policy Framework)**

SPF to standard uwierzytelniania oparty na systemie DNS, pozwalający właścicielowi domeny na zdefiniowanie listy serwerów (adresów IP) uprawnionych do wysyłania wiadomości w jej imieniu. Jego celem jest zapobieganie fałszowaniu adresu nadawcy (spoofingowi) przez nieautoryzowane źródła. Weryfikacja polega na sprawdzeniu przez serwer odbiorcy, czy adres IP serwera nadawczego jest wymieniony w rekordzie SPF domeny.

### **Struktura i Mechanizmy Rekordu SPF**

Rekord SPF to wpis typu TXT w strefie DNS domeny. `v=spf1 include:_spf.emaillabs.net.pl ~all`

* `v=spf1`: Definiuje wersję rekordu.
* `include:`: Deleguje weryfikację do rekordu SPF innej domeny. W tym przypadku, autoryzuje serwery EmailLabs do wysyłki w imieniu domeny.
* `a`, `mx`, `ptr`: Inne mechanizmy wskazujące na rekordy w DNS.
* `~all` (Soft Fail) / `-all` (Hard Fail): Definiuje politykę dla nadawców niespełniających reguł. `~all` sugeruje traktowanie wiadomości jako podejrzanej, `-all` sugeruje jej odrzucenie.

### **Najczęstsze Błędy w Konfiguracji SPF**

* Wiele rekordów SPF dla jednej domeny: Domena może posiadać tylko jeden rekord SPF. Wszystkie autoryzowane źródła muszą być połączone w jednym rekordzie za pomocą mechanizmu `include`.
* Przekroczenie limitu 10 zapytań DNS: Zbyt wiele mechanizmów (`include`, `a`, `mx` itp.) w rekordzie może spowodować przekroczenie limitu 10 odpytań DNS podczas jego walidacji, co skutkuje błędem weryfikacji.
* Brak mechanizmu `all`: Rekord bez kwalifikatora `~all` lub `-all` jest niekompletny i nie definiuje polityki dla nieautoryzowanych wysyłek.

***

## **DKIM (DomainKeys Identified Mail)**

DKIM to mechanizm kryptograficzny, który dodaje do wiadomości e-mail cyfrowy podpis, weryfikujący jej autentyczność i integralność. Potwierdza, że wiadomość pochodzi z autoryzowanego źródła i nie została zmodyfikowana w trakcie przesyłania. Proces polega na podpisaniu wiadomości kluczem prywatnym i umożliwieniu serwerom odbiorczym weryfikacji tego podpisu za pomocą klucza publicznego, opublikowanego w DNS.

### **Struktura Rekordu DKIM**

Rekord DKIM ma postać `selektor._domainkey.twojadomena.pl`.

* `selektor`: Unikalny identyfikator, który pozwala na posiadanie wielu kluczy DKIM dla jednej domeny (np. dla różnych usług).
* `_domainkey`: Stały prefiks.

### **Najczęstszy Błąd w Konfiguracji DKIM**

* **Użycie tego samego selektora dla różnych kluczy:** Każdy system wysyłkowy musi używać unikalnego selektora DKIM w obrębie domeny. Zduplikowane selektory uniemożliwiają poprawną weryfikację.

***

## **DMARC (Domain-based Message Authentication, Reporting & Conformance)**

DMARC to protokół, który łączy SPF i DKIM, tworząc spójną politykę uwierzytelniania. Pozwala on właścicielowi domeny określić, jak serwery odbiorcze mają traktować wiadomości, które nie przejdą weryfikacji SPF lub DKIM. Umożliwia także otrzymywanie raportów o wszystkich próbach wysyłki w imieniu domeny.

### **Polityki DMARC**

* `p=none`: Polityka monitorująca. Wiadomości, które nie przejdą weryfikacji, są dostarczane, a właściciel domeny otrzymuje jedynie raporty.
* `p=quarantine`: Wiadomości, które nie przejdą weryfikacji, są kierowane do folderu spam.
* `p=reject`: Wiadomości, które nie przejdą weryfikacji, są całkowicie odrzucane przez serwer odbiorcy.

### **Raportowanie DMARC (RUA i RUF)**

* `rua`: Wskazuje adres e-mail do wysyłki raportów zagregowanych (zbiorczych).
* `ruf`: Wskazuje adres e-mail do wysyłki raportów szczegółowych o błędach weryfikacji.

### **Najczęstsze Błędy w Konfiguracji DMARC**

* **Wiele rekordów DMARC:** Domena może mieć tylko jeden rekord DMARC.
* **Brak skonfigurowanych raportów:** Rekord DMARC bez tagów `rua` lub `ruf` nie dostarcza informacji zwrotnych.

***

## **Wyrównanie Domen (Domain Alignment)**

Wyrównanie domen jest fundamentalnym wymogiem protokołu DMARC. Polega na weryfikacji, czy domena widoczna dla użytkownika w polu `From:` jest spójna z domenami użytymi w mechanizmach SPF i DKIM.

* Wyrównanie SPF: Domena z nagłówka `Return-Path` musi być zgodna z domeną z nagłówka `From:`.
* Wyrównanie DKIM: Domena z podpisu DKIM (tag `d=`) musi być zgodna z domeną z nagłówka `From:`.

Do pomyślnej weryfikacji DMARC wymagane jest poprawne wyrównanie przynajmniej jednego z tych mechanizmów (SPF lub DKIM).

***

## **Implementacja w Panelu EmailLabs: Funkcja "Autoryzacja Nadawców"**

Aby ułatwić kompleksowe wdrożenie wszystkich powyższych mechanizmów, w panelu EmailLabs dostępna jest funkcja **Autoryzacja nadawców**.

Jest to zintegrowane narzędzie, które automatycznie generuje odpowiednie rekordy (w tym DKIM i DMARC) i zapewnia pełne wyrównanie domen dla wysyłek realizowanych przez platformę. Użycie tej funkcji jest rekomendowanym sposobem na spełnienie najnowszych wymogów globalnych dostawców poczty.

Szczegółowe instrukcje, jak krok po kroku skorzystać z tej funkcji, znajdziesz w naszym przewodniku: [Autoryzacja Nadawców](/e-mail/bezpieczenstwo-nadawcy/autoryzacja-nadawcow.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://newpanel.docs.emaillabs.io/poradniki/techniczne-aspekty-e-maili-i-integracji/specyfikacja-uwierzytelniania-e-mail-spf-dkim-i-dmarc.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
