SMTP (Simple Mail Transfer Protocol) to protokół komunikacyjny służący do wysyłania wiadomości e-mail między klientem a serwerem oraz między serwerami pocztowymi. Działa na portach 25, 587 lub 465 (w zależności od konfiguracji i zabezpieczeń).

Najbezpieczniejszym wyborem dla użytkowników jest port 587 z szyfrowaniem TLS (STARTTLS).

Jak działa proces wysyłania e-maila?

1. Przygotowanie wiadomości

Użytkownik tworzy e-mail w programie pocztowym lub webmailu, uzupełnia adres odbiorcy, temat i treść, a następnie dodaje ewentualne załączniki. Poprawny adres odbiorcy i odpowiednie nagłówki (From, To, Subject) są kluczowe dla dostarczenia wiadomości.

2. Nawiązanie połączenia

Klient pocztowy łączy się z serwerem SMTP (np. smtp.gmail.com), a serwer potwierdza gotowość do komunikacji. W tym etapie może zostać uzgodnione szyfrowanie STARTTLS, aby chronić dalszy przebieg sesji.

3. Uwierzytelnianie

Klient przekazuje dane logowania (login/hasło) lub stosuje OAuth 2.0, a serwer weryfikuje tożsamość i uprawnienia do wysyłki.

Najczęściej spotykane mechanizmy uwierzytelniania to:

  • PLAIN – przekazanie poświadczeń w postaci zakodowanej base64 po zaszyfrowanym kanale TLS;
  • LOGIN – klasyczne logowanie login/hasło w dwóch krokach, zazwyczaj zabezpieczone TLS;
  • OAuth 2.0 – autoryzacja tokenem bez podawania hasła aplikacyjnego.

4. Wysłanie wiadomości

Po udanym logowaniu klient wysyła podstawowe komendy SMTP definiujące nadawcę, odbiorców i treść:

  • MAIL FROM – adres nadawcy ustawiany w warstwie transportowej;
  • RCPT TO – adres lub adresy odbiorców, w tym pola To/Cc/Bcc;
  • DATA – przesłanie pełnej zawartości wiadomości (nagłówki + ciało + ewentualne załączniki w MIME).

5. Transmisja

Serwer nadawcy wyszukuje rekordy MX w DNS dla domeny odbiorcy i przekazuje wiadomość do właściwego serwera. Jeśli serwer docelowy jest chwilowo niedostępny, wiadomość trafia do kolejki i serwer ponawia próby dostarczenia zgodnie z polityką retencji. Mechanizm kolejkowania i ponawiania wysyłki zwiększa szanse na ostateczne doręczenie.

Porty i bezpieczeństwo

Poniższa tabela podsumowuje najczęściej używane porty i sposób szyfrowania:

Port Standard Szyfrowanie
25 Domyślny Brak
587 SMTP z STARTTLS TLS (opcjonalne)
465 SMTPS TLS (obowiązkowe)

Kiedy użyć poszczególnych portów:

  • Port 25 – wymiana serwer–serwer i ruch tranzytowy (relay);
  • Port 587 – wysyłka z klientów (submission) z uwierzytelnianiem i STARTTLS;
  • Port 465 – wysyłka z wymuszonym szyfrowaniem TLS (implicit TLS), często jako alternatywa dla 587.

Dla kont użytkowników i aplikacji zalecany jest port 587 z włączonym TLS, co zapewnia poufność danych logowania i treści wiadomości.

Różnica – SMTP vs POP3/IMAP

SMTP służy do wysyłania wiadomości, natomiast POP3/IMAP odpowiadają za odbieranie i synchronizację skrzynki. Są to osobne protokoły, które współpracują ze sobą w ramach jednego ekosystemu pocztowego.