Protokół SMTP (Simple Mail Transfer Protocol) to standardowy protokół komunikacyjny do wysyłania wiadomości e-mail w sieciach biznesowych i Internecie. Protokół SMTP został pierwotnie opracowany na początku lat osiemdziesiątych i pozostaje jednym z najpopularniejszych protokołów używanych na całym świecie.
Oprogramowanie poczty e-mail najczęściej wykorzystuje protokół SMTP do wysyłania oraz protokoły protokołu POPAP (Post Office Protocol 3) lub protokołu IMAP (Internet Message Access Protocol) do odbierania poczty. Mimo swojego wieku żadna realna alternatywa dla SMTP nie istnieje w głównym nurcie użytkowania.
Jak działa SMTP
Wszystkie nowoczesne programy klienckie obsługują protokół SMTP. Ustawienia SMTP obsługiwane w kliencie poczty e-mail obejmują adres IP serwera SMTP (wraz z adresami serwera POP lub IMAP do odbierania wiadomości e-mail). Klienci internetowi osadzają adres serwera SMTP w swojej konfiguracji, a klienci PC zapewniają ustawienia SMTP, które umożliwiają użytkownikom określenie własnego serwera.
Fizyczny serwer SMTP może być przeznaczony wyłącznie do obsługi ruchu pocztowego, ale często jest połączony z co najmniej POP3, a czasami z innymi funkcjami serwera proxy.
SMTP działa na TCP / IP i używa portu TCP numer 25 do standardowej komunikacji. Aby ulepszyć SMTP i pomóc w zwalczaniu spamu w Internecie, grupy standardów zaprojektowały również port TCP 587 do obsługi niektórych aspektów protokołu. Kilka internetowych usług poczty e-mail, takich jak Gmail, używa nieoficjalnego portu TCP 465 dla SMTP.
Polecenia SMTP
Standard SMTP definiuje zestaw poleceń - nazwy określonych typów wiadomości, które wysyłają klientów do serwera poczty podczas żądania informacji. Najczęściej używanymi komendami są:
- HELOiEHLO- polecenia inicjujące nową sesję protokołu między klientem a serwerem. Polecenie EHLO żąda od nich odpowiedzi z dowolnymi opcjonalnymi rozszerzeniami SMTP, które obsługuje
- POCZTA- polecenie, aby rozpocząć wysyłanie wiadomości e-mail
- RCPT- polecenie podania jednego adresu e-mail odbiorcy bieżącej wiadomości
- DANE- polecenie wskazujące początek transmisji wiadomości e-mail. To polecenie inicjuje serię jednego lub więcej komunikatów uzupełniających, z których każdy zawiera fragment wiadomości. Ostatnia wiadomość w sekwencji jest pusta (zawiera tylko kropkę (.) Jako znak zakończenia) w celu oznaczenia końca wiadomości e-mail.
- RSET- podczas wysyłania wiadomości e-mail (po wydaniu polecenia MAIL), każde zakończenie połączenia SMTP może zresetować połączenie, jeśli wystąpi błąd
- NOOP- pusta wiadomość ("brak operacji") zaprojektowana jako rodzaj polecenia ping w celu sprawdzenia reakcji drugiego końca sesji
- PORZUCIĆ- kończy sesję protokołu
Adresat tych poleceń odpowiada kodami sukcesu lub kodów błędów.
Problemy z SMTP
SMTP nie ma wbudowanych funkcji bezpieczeństwa. Spamerzy internetowi mają możliwość wykorzystywania SNMP w przeszłości, generując ogromne ilości wiadomości-śmieci i dostarczając je za pośrednictwem otwartych serwerów SMTP. Ochrona przed spamem poprawiła się z biegiem lat, ale nie jest niezawodna. Ponadto protokół SMTP nie zapobiega ustawianiu przez spamerzy (za pomocą polecenia MAIL) fałszywych adresów e-mail "Od:".