Który port SMTP powinienem użyć: port 25, 465, 587 czy 2525?
Ludzie konfigurujący aplikację lub system pocztowy do wysyłania (lub przekazywania) e-maili często mają wspólne pytanie: „Który port SMTP powinienem użyć?” Możesz zobaczyć informacje, które mówią, że powinieneś używać portów 25, 465, 587 lub 2525 do przekazywania SMTP. Więc który z nich powinien być twoim standardowym portem SMTP? Oto, co musisz wiedzieć i dlaczego.
Co to jest port SMTP?
SMTP (Simple Mail Transfer Protocol) to podstawowy standard używany przez serwery pocztowe do wysyłania e-maili do siebie nawzajem przez internet. SMTP jest również używany przez aplikacje takie jak Apple Mail czy Outlook do przesyłania e-maili do serwerów pocztowych, które następnie przekazują je do innych serwerów pocztowych. (Z drugiej strony, aplikacje pocztowe zazwyczaj polegają na innych standardach, takich jak IMAP czy POP3, aby pobierać e-maile z serwerów.)
Podobnie jak inne usługi internetowe, takie jak strony internetowe, e-maile SMTP opierają się na nazwach domen i adresach internetowych, aby wiedzieć, gdzie wysyłać wiadomości. Wszyscy my dzisiaj jesteśmy zaznajomieni z tekstową wersją tych adresów, jak www.sparkpost.com. Większość z nas wie, że adres tekstowy stoi za numerycznym adresem IP, jak 107.21.246.67. Ale nie wszyscy z nas wiedzą, że te adresy sieciowe zawierają również „numery portów.” „Port SMTP” odnosi się do konkretnej części adresu internetowego używanej do przesyłania e-maili.
Strona internetowa i HTTP używają numeru portu 80. Dla e-maili i SMTP ten numer portu to… no cóż, to zależy.
Jak SMTP różni się od SSL i TLS?
Obie technologie ułatwiają wysyłanie e-maili. Podczas gdy SMTP może być mięśniem i kośćmi tego procesu, bezpieczna warstwa gniazd (SSL) tworzy skórę, aby utrzymać twoje e-maile w bezpieczeństwie. SSL działa z każdym dostępnym portem.
SSL był standardowym protokołem bezpieczeństwa dla powszechnych portów e-mail w niedalekiej przeszłości. Wraz z przyjęciem jego nowego i ulepszonego potomka, transportowej warstwy bezpieczeństwa (TLS), komunikacja elektroniczna stała się jeszcze bardziej bezpieczna.
Podczas gdy oba protokoły tworzą prywatny kanał między komputerem wysyłającym a odbierającym w celu zabezpieczenia transmisji, TLS oferuje więcej powiadomień niż jego przodek i może wykonywać więcej funkcji haszujących, aby wzmocnić szyfrowaną komunikację. Dziś wiele e-maili korzysta z najnowszej konwencji, STARTTLS, która łączy się z protokołami SSL lub TLS w celu maksymalnego bezpieczeństwa.
Protokół SMTP sam w sobie nie jest tak bezpieczny, jak mógłby być. Użycie metody transferu w połączeniu z jednym z protokołów bezpieczeństwa zapewnia większą ochronę szyfrowania. W przypadku wysyłania e-maili SSL i inne protokoły zwiększają przekazanie SMTP.
Jak możesz się dowiedzieć, jaki jest twój port SMTP?
Jeśli jesteś subskrybowany w zewnętrznej usłudze przekazywania e-maili, możesz uzyskać nazwę hosta serwera SMTP i numer portu z strony wsparcia twojej usługi e-mail.
Jeśli prowadzisz swój własny serwer SMTP, możesz znaleźć skonfigurowany numer portu SMTP i adres z konfiguracji serwera SMTP. W PowerMTA możesz znaleźć te informacje w dyrektywie „smtp-listener” w pliku konfiguracyjnym. Plik konfiguracyjny można znaleźć w /etc/pmta/config na serwerze Linux i C:\pmta\config.dat na Windows Server.
smtp-listener 10.0.1.22:587 # nasłuchuje na porcie 587 i IP 10.0.1.22
Który port powinieneś użyć dla SMTP?
Porty 25, 465, 587 lub 2525 dla SMTP były wszystkie uważane za standardowe porty SMTP w pewnym momencie, ale tylko 587 lub 2525 naprawdę powinny być brane pod uwagę do nowoczesnego użytku.
Jeśli konfigurujesz swoje systemy, aby korzystać z SparkPost jako przekazania SMTP, powinieneś używać portu 587 jako swojego standardowego portu SMTP, a port 2525 jako alternatywy na wypadek, gdyby port 587 nie był dostępny.
Wyjaśnię, dlaczego, gdy przejdziemy przez różne porty powszechnie używane do wysyłania e-maili dzisiaj.
Port 25: Oryginalny standardowy port SMTP
Port 25 jest oryginalnym standardowym portem e-mail SMTP i najstarszym, ponieważ zadebiutował po raz pierwszy w 1982 roku. Dziś Internet Assigned Numbers Authority (IANA), grupa odpowiedzialna za utrzymanie schematu adresowania w internecie, nadal uznaje port 25 za standardowy, domyślny port SMTP. SMTP został przeznaczony do używania portu 25 w IETF Request For Comments (RFC) 821. Ale w praktyce nie jest to tak proste, jak się wydaje.
Chociaż port 25 nadal jest używany do przekazywania SMTP z serwera na serwer, większość nowoczesnych klientów SMTP nie powinna być konfigurowana do korzystania z tego portu. Port 25 jest zazwyczaj zablokowany przez dostawców ISP dla domu i dostawców hostingu w chmurze dla firm, ponieważ zyskał złą reputację jako preferowany port dla spamerów wysyłających ogromne ilości niechcianych komunikatów.
Dlaczego port 25 jest zazwyczaj blokowany? Jak możesz to sprawdzić?
Port 25 jest blokowany w wielu sieciach, aby ograniczyć ilość spamu, który jest przekazywany z zainfekowanych komputerów lub serwerów. Chyba że konkretnie zarządzasz serwerem pocztowym, nie powinieneś mieć żadnego ruchu przechodzącego przez ten port na swoim komputerze lub serwerze.
Aby sprawdzić, czy port 25 jest zablokowany przez dostawcę ISP:
Jeśli używasz systemu Windows, otwórz wiersz poleceń. Jeśli używasz Maca, otwórz Terminal. A jeśli używasz Linuksa, otwórz emulator terminala.
Wpisz następujące polecenie: telnet examplemailserver.com 25
Jeśli port 25 nie jest zablokowany, powinieneś otrzymać komunikat podobny do tego:
user@localhost:~# telnet gmail-smtp-in.l.google.com 25 Próba 1.2.3.4... Połączono z gmail-smtp-in.l.google.com. Znak ucieczki to '^]'. 220 mx.google.com ESMTP 123si3448417qkd.359 - gsmtp
Jeśli otrzymasz komunikat podobny do poniższego, port 25 prawdopodobnie jest zablokowany:
telnet: connect to address XX.XX.XX.XX: Connection refused telnet: Unable to connect to remote host
Kiedy użyłbyś portu 25?
Port 25 jest domyślnym portem do przesyłania e-maili w internecie. Jednak możesz określić każdy numer portu (pod warunkiem, że znajduje się w akceptowalnym zakresie niestandardowych numerów portów) do przesyłania e-maili do swojego serwera SMTP.
Istnieją specjalne przypadki, kiedy musisz używać portu 25 na swoim serwerze SMTP. Jednym z takich przypadków jest odbieranie bounces out of band/asynchronicznych. Tego rodzaju odbicia zdarzają się po fakcie. Oznacza to, że domena odbiorcy akceptuje wiadomość od twojego serwera SMTP, ale później odrzuca wiadomość. Odbicia out of band są wysyłane asynchronicznie do ścieżki zwrotnej (MAIL FROM) adresu oryginalnej wiadomości. Domena odbiorcy spróbuje wysłać te odbicia do serwera MX adresu ścieżki zwrotnej i na porcie 25 (ponieważ port 25 jest domyślnym portem do przesyłania e-maili w internecie). Innym przykładem jest otrzymywanie pętli informacji zwrotnej (FBL).
Możesz włączyć port 25 do odbierania wiadomości na serwerze PowerMTA, konfigurując dyrektywę „smtp-listener”
smtp-listener 10.0.1.22:25 # nasłuchuje na porcie 25 i IP 10.0.1.22
Port 465: Zdeprecjonowany i przestarzały port SMTP
Port 465 nie jest już akceptowany jako standard dla SMTP. Jednakże istnieją niektóre systemy legacyjne, które nadal korzystają z portu 465 dla SMTP, a niektóre strony pomocy w internecie wciąż sugerują port 465 jako zalecaną konfigurację. Port zyskał redundancję pod koniec lat 90-tych, ale wciąż polega na nieaktywnym metodzie SSL do nawiązywania bezpiecznego przesyłania. Nasza rada? Nie rób tego, chyba że twoja aplikacja absolutnie tego wymaga.
IANA początkowo przypisała port 465 dla szyfrowanej wersji SMTP zwanej SMTPS. Początkowo proponowano go do wysyłania e-maili z wykorzystaniem bezpiecznej warstwy gniazd (SSL). Jednak IANA od tego czasu przypisała ten port do innego zastosowania, więc nie powinien być już używany do SMTP. Dlatego SparkPost nie akceptuje połączeń na porcie 465.
Port 587: Standardowy bezpieczny port SMTP
Nowoczesne serwery e-mail używają portu 587 do bezpiecznego przesyłania e-maili do dostawy. Na przykład, jeśli korzystasz z oprogramowania klienckiego e-mail, takiego jak Outlook lub Apple Mail, najprawdopodobniej jest on skonfigurowany do korzystania z tego portu do wysyłania wiadomości. Nie jest to jednak tylko oprogramowanie klienckie dla osobistych e-maili. Systemy, które przesyłają wiadomości do usługi dostarczania e-maili, takiej jak SparkPost, również powinny być skonfigurowane do korzystania z tego portu.
Wszyscy klienci SparkPost powinni używać portu 587 jako domyślnego, chyba że zostaniesz blokowany przez swoich wyżej wymienionych dostawców sieciowych lub hostingowych. Użycie portu 587, połączonego z szyfrowaniem TLS, to najlepszy sposób, aby zapewnić, że e-mail jest przesyłany bezpiecznie i niezawodnie do SparkPost (lub prawie każdego innego dostawcy).
Port 2525: Powszechny alternatywny port SMTP
Port 2525 nie jest oficjalnym portem SMTP i nie jest zatwierdzony przez IETF ani IANA. Jednak SparkPost i wielu innych dostawców usług e-mail wspiera użycie portu 2525 jako alternatywy dla portu 587 dla SMTP, na wypadek gdyby powyższe porty były zablokowane. (Jednym z zauważalnych przypadków, gdy jest to wymagane, są usługi hostowane na Google Compute Engine.) Jeśli próbowałeś portu 587, ale występują problemy z łącznością, spróbuj portu 2525. Tak jak w przypadku portu 587, większość implementacji, które nasłuchują na porcie 2525, również obsługuje szyfrowanie TLS.
Czy port SMTP ma znaczenie?
Oprócz wyzwań związanych z łącznością, zauważysz, że użycie niewłaściwego portu wpływa na dostarczalność. Komunikacja e-mailowa może być skuteczna tylko wtedy, gdy znajdzie drogę między nadawcą a odbiorcą, a właściwy port zapewnia pomyślne dostarczenie
W większości przypadków twój dostawca e-mail skonfiguruje porty dla ciebie, więc nie musisz wybierać. Dla innych jednak ważne jest, aby zrozumieć, że różnym portom przypisane są różne funkcje, głównie podzielone na przesyłanie i przekazywanie.
Przesyłanie i Przekazywanie
Przesyłanie to działanie, w którym przekazujesz nowo utworzoną komunikację elektroniczną do swojej skrzynki nadawczej z twoim dostawcą usług e-mail. Jeśli ty i twój dostawca jesteście na różnych portach, w tym miejscu proces się kończy — twój e-mail nie dojdzie dalej. Kiedy jesteście na tym samym porcie, twój serwer pocztowy akceptuje komunikację wychodzącą i podaje sobie dłoń z komputerem po drugiej stronie. Gdy wszystko jest zabezpieczone i uzgodnione, dochodzi do przesyłania. Ten proces nazywa się przekazywaniem.
Co to jest serwer SMTP?
Serwer SMTP to komputer, który napędza protokół, którego używa twój klient e-mail do wysyłania, odbierania i/lub przekazywania wychodzących wiadomości. W ramach procesu serwer SMTP weryfikuje, czy nadawca ma prawo wysyłać przez SMTP i, jeśli nadawca ma prawo wysyłać, a wiadomość jest uznawana za niedostarczalną, serwer SMTP odeśle ją na adres MAIL FROM. PowerMTA jest jednym z wiodących serwerów SMTP, ponieważ pozwala nadawcom na przyjęcie najnowszych specyfikacji uwierzytelniania do wysyłania dużych ilości e-maili i przestrzegania nowych polityk uwierzytelniania.
Jak skonfigurować swój serwer SMTP
Jeśli chodzi o skonfigurowanie serwera SMTP, są dwie opcje do zbadania. Możesz subskrybować zewnętrzną usługę przekazywania e-maili. SparkPost jest wiodącym dostawcą dostarczania e-maili i usługi analitycznej. Alternatywnie możesz skonfigurować swój serwer SMTP „na miejscu” dla większej kontroli. Przykładem jest PowerMTA.
Aby zbudować serwer PowerMTA, skontaktuj się z support@port25.com w celu uzyskania pakietu instalacyjnego, licencji i instrukcji instalacji. Cała konfiguracja PowerMTA odbywa się w pliku konfiguracyjnym, który znajduje się w /etc/pmta/config na serwerze Linux i C:\pmta\config.dat na Windows Server.
Aby skonfigurować podstawową konfigurację swojego serwera SMTP, istnieje kilka rozważań i kroków do podjęcia.
Jaki adres IP i numer portu chcesz, aby twój serwer SMTP odbierał e-maile? Port 25 to domyślny port do przekazywania e-maili. W PowerMTA możesz zmienić ten domyślny numer portu, edytując dyrektywę „smtp-listener” w pliku konfiguracyjnym.smtp-listener 0/0:25 # nasłuchuje na porcie 25 wszystkich lokalnych IP. Możesz również określić zakres CIDR adresów IP
lub
smtp-listener 10.0.1.22:25 # nasłuchuje na porcie 25 i IP 10.0.1.22
Musisz zezwolić na przekazywanie wiadomości z twojego klienta e-mail do twojego serwera SMTP. Twój serwer SMTP NIGDY nie powinien być otwartym przekaźnikiem. To oznacza, że jakoś musisz selektywnie zezwolić na przekazywanie. W PowerMTA istnieje kilka sposobów, aby to zrobić. Możesz uwierzytelnić się za pomocą nazwy użytkownika i hasła. PowerMTA obsługuje uwierzytelnianie za pomocą LOGIN, PLAIN lub mechanizmu CRAM-MD5 dla połączeń przychodzących. To jest skonfigurowane w sekcji smtp-user i source w pliku konfiguracyjnym. Dla użytkownika „foo” i hasła „barbaz” <smtp-user foo> password barbaz method uwierzytelniania hasła # certyfikat (TLS) lub system (użytkownik linuksowy) to inne opcje </smtp-user> # Następnie wymagaj uwierzytelniania w sekcji source <source 0/0> require-auth true </source>
Możesz także selektywnie zezwolić na przekazywanie z konkretnego adresu IP lub zakresu CIDR. To byłby adres IP twojego klienta e-mail.
<source 10.0.5.20> always-allow-relaying yes # zezwalaj na przesyłanie z 10.0.5.20 </source>
Możesz także ustawić nazwę/ adres domeny odbiorcy (lub wzór), dla których PowerMTA zaakceptuje e-mail.
# zezwala na przekazywanie wiadomości do some.domain relay-domain some.domain relay-address bounce@bounce.yourdomain.com relay-address /@foo(bar)?\.com$/ # wzorzec regex
Kolejnym rozważanym aspektem jest to, czy chcesz bezpiecznie przekazywać e-maile z twojego klienta e-mail do twojego serwera SMTP (Inbound TLS)? Jeśli twoja odpowiedź brzmi tak, musisz włączyć STARTTLS dla połączeń przychodzących i skonfigurować certyfikat TLS. W PowerMTA TLS jest obsługiwany od TLSv1 do TLSv1.3. smtp-server-tls-certificate /etc/pmta/yourcert.pem # Włącz TLS dla połączeń przychodzących <source 0/0> allow-starttls true require-starttls-before-auth true # zapewnia, że informacje uwierzytelniające będą wysyłane tylko przez tls </source>
Czy chcesz, aby twój serwer SMTP bezpiecznie dostarczał e-maile do zdalnych serwerów (Outbound TLS)? W PowerMTA masz możliwość używania TLS, jeśli zdalny serwer to obsługuje lub wymusić TLS i przerwać połączenie, jeśli zdalny serwer nie obsługuje TLS. <domain *> # (*) to symbol wieloznaczny dla wszystkich domen odbiorcy use-starttls true # używa TLS, jeśli jest dostępne require-starttls true # wymusza TLS </domain>
Ustaw adres IP i nazwę hosta, z których twój serwer SMTP ma inicjować wychodzące połączenia SMTP. W PowerMTA ustawia się to z dyrektywą smtp-source-host. smtp-source-host 192.168.0.10 mail10.yourserver.com # Możesz także określić zakres CIDR
Na koniec, jedną z wyjątkowych cech PowerMTA jest możliwość oddzielenia strumienia poczty, tworząc hosta wielohomed. Technologia VirtualMTA w PowerMTA pozwala użytkownikom definiować i kontrolować adres IP źródłowy, nazwę hosta i parametry dostarczania wiadomości dla każdego strumienia poczty. Pozwala to na tworzenie oddzielnych i specyficznych kampanii, klientów lub działów, przy jednoczesnym uruchomieniu tylko jednej instance PowerMTA.
<virtual-mta mta1> smtp-source-host 1.2.3.4 mta1.yourserver.com <domain *> use-starttls true require-starttls true retry-after 10m </domain> </virtual-mta> <virtual-mta mta2> smtp-source-host 2.3.4.5 mta2.yourserver.com <domain *> use-starttls false require-starttls false retry-after 45m </domain> </virtual-mta>
Kiedy podstawowa konfiguracja zostanie zakończona, możesz złożyć wiadomości do skonfigurowanego hosta/IP twojego serwera SMTP i numeru portu (10.0.1.22:25 w powyższym przykładzie) i w zależności od tego, jak zezwalasz na przesyłanie e-maili, uwierzytelnić się przy użyciu skonfigurowanej nazwy użytkownika (foo) i hasła (barbaz).
Podsumowując, port SMTP 587 jest najlepszym wyborem dla prawie każdego przypadku użycia przy łączeniu się z SparkPost i innymi usługami dostarczania e-maili.
Mam nadzieję, że informacje te pomogły ci dowiedzieć się trochę więcej o tym, który port SMTP użyć!
Dowiedz się więcej
Chcesz dowiedzieć się więcej o korzystaniu z SMTP? Oto instrukcje dotyczące konfigurowania SparkPost na przekazywanie SMTP i dostarczanie e-maili, różnice między wysyłką wiadomości SMTP a API oraz rozwiązywanie problemów z połączeniem SMTP z SparkPost. Twoja grupa profesjonalistów w SparkPost jest również dostępna aby zapewnić wsparcie techniczne gdy zajdzie taka potrzeba.