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.