Którego portu SMTP powinienem użyć: port 25, 465, 587 czy 2525?
Ludzie konfigurowani aplikację lub system pocztowy do wysyłania (lub przekazywania) wiadomości e-mail często mają wspólne pytanie: „Którego portu SMTP powinienem użyć?” Możesz zobaczyć informacje, które mówią, że powinieneś używać portów 25, 465, 587 lub 2525 do relayi SMTP. Więc który z tych portów 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, którego używają serwery pocztowe do przesyłania wiadomości e-mail między sobą przez internet. SMTP jest również używane przez aplikacje takie jak Apple Mail czy Outlook do przesyłania wiadomości e-mail na serwery pocztowe, 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ć wiadomości e-mail z serwerów.)
Podobnie jak inne usługi internetowe, takie jak strony internetowe, e-maile SMTP polegają na nazwach domenowych i adresach internetowych, aby wiedzieć, gdzie wysyłać wiadomości. Wszyscy dzisiaj znamy tekstową wersję tych adresów, jak www.sparkpost.com. Większość z nas wie, że adres tekstowy odpowiada liczbowemu adresowi IP, takiemu jak 107.21.246.67. Ale nie wszyscy z nas wiedzą, że te adresy sieciowe zawierają również konkretne „numery portów”. „Port SMTP” odnosi się do konkretnej części adresu internetowego, która jest używana do przesyłania e-maili.
Web i HTTP używają numeru portu 80. Dla e-maila i SMTP ten numer portu to… 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ęśniami i kośćmi procesu, Secure Sockets Layer (SSL) tworzy skórę, aby utrzymać twoje e-maile w bezpiecznym stanie. SSL działa z dowolnym dostępnym portem.
SSL był standardowym protokołem zabezpieczeń dla powszechnych portów e-mail w niedalekiej przeszłości. Dzięki przyjęciu jego nowego i ulepszonego potomka, Transport Layer Security (TLS), komunikacja elektroniczna stała się jeszcze bardziej bezpieczna.
Podczas gdy oba protokoły tworzą prywatny kanał między wysyłającym a odbierającym komputerem, aby zabezpieczyć transmisje, TLS oferuje więcej alertów niż jego przodek i może wykonać więcej funkcji haszujących, aby poprawić komunikację szyfrowaną. Dziś wiele e-maili używa najnowszej konwencji, STARTTLS, która łączy się z protokołami SSL lub TLS, aby zapewnić maksymalne bezpieczeństwo.
Protokół SMTP samodzielnie nie jest tak bezpieczny, jak mógłby być. Użycie metody transferu w połączeniu z jednym z protokołów zabezpieczeń zapewnia większą ochronę szyfrowania. Do wysyłania e-maili SSL i inne protokoły wzmacniają transmisję SMTP.
Jak możesz dowiedzieć się, jaki jest twój port SMTP?
Jeśli subskrybujesz usługi relaying e-mail, możesz uzyskać nazwę hosta serwera SMTP i numer portu na stronie wsparcia twojego dostawcy e-mail.
Jeśli prowadzisz własny serwer SMTP, możesz znaleźć skonfigurowany numer i adres portu SMTP w konfiguracji serwera SMTP. W PowerMTA możesz znaleźć te informacje w skonfigurowanej dyrektywie „smtp-listener” w pliku konfiguracyjnym. Plik konfiguracyjny znajduje się w /etc/pmta/config na serwerze Linux oraz C:\pmta\config.dat na Windows Serwer.
smtp-listener 10.0.1.22:587 # słucha na porcie 587 i IP 10.0.1.22
Którego portu powinieneś użyć do SMTP?
Porty 25, 465, 587 lub 2525 dla SMTP były uważane za standardowe porty SMTP w pewnym momencie, ale tylko 587 lub 2525 naprawdę powinny być brane pod uwagę do nowoczesnego użycia.
Jeśli konfigurujesz swoje systemy, aby używać SparkPost jako relaya SMTP, powinieneś używać portu 587 jako swojego standardowego portu SMTP, a 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 SMTP i jest najstarszy, ponieważ po raz pierwszy zaprezentowano go w 1982 roku. Dziś Internet Assigned Numbers Authority (IANA), grupa odpowiedzialna za utrzymanie schematu adresowania internetu, wciąż uznaje port 25 za standardowy, domyślny port SMTP. SMTP został wyznaczony do używania portu 25 w IETF Request For Comments (RFC) 821. Ale w praktyce, to nie jest tak proste, jak się wydaje.
Chociaż port 25 jest nadal używany do relaying SMTP z serwera na serwer, większość nowoczesnych klientów SMTP nie powinna być skonfigurowana do korzystania z tego portu. Port 25 jest zwykle blokowany przez dostawców usług internetowych dla domów i dostawców usług chmurowych dla biznesu, ponieważ zdobył złą reputację jako preferowany port dla spamerów wysyłających masowe ilości niezamówionych komunikatów.
Dlaczego port 25 jest zazwyczaj blokowany? Jak możesz sprawdzić, czy jest blokowany?
Port 25 jest blokowany w wielu sieciach, aby ograniczyć ilość spamu, który jest przekazywany z zainfekowanych komputerów lub serwerów. Jeśli nie zarządzasz konkretnie serwerem pocztowym, nie powinieneś mieć ruchu przechodzącego przez ten port na swoim komputerze lub serwerze.
Aby sprawdzić, czy port 25 jest blokowany przez ISP:
Jeśli używasz Windows, otwórz wiersz poleceń. Jeśli używasz Mac, otwórz Terminal. A jeśli używasz Linux, otwórz emulator terminala.
Wpisz następujące polecenie: telnet examplemailserver.com 25
Jeśli port 25 nie jest blokowany, powinieneś otrzymać wiadomość jak ta:
user@localhost:~# telnet gmail-smtp-in.l.google.com 25 Trying 1.2.3.4... Connected to gmail-smtp-in.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP 123si3448417qkd.359 - gsmtp
Jeśli otrzymasz wiadomość podobną do poniższej, port 25 może być zablokowany:
telnet: connect to address XX.XX.XX.XX: Connection refused telnet: Unable to connect to remote host
Kiedy użyjesz portu 25?
Port 25 jest domyślnym portem do relaying e-maili w internecie. Jednak możesz określić dowolny numer portu (pod warunkiem, że mieści się w akceptowalnym zakresie portów niestandardowych) do przesyłania wiadomości e-mail do swojego serwera SMTP.
Istnieją specjalne przypadki, gdy musisz używać portu 25 na swoim serwerze SMTP. Jednym z takich przypadków jest odbieranie niezgodnych/asygnowanych wymian. Ten rodzaj wymian następuje po fakcie. To oznacza, że domena odbierająca akceptuje wiadomość ze swojego serwera SMTP, ale później odsyła wiadomość. Niekompatybilne wymiany są wysyłane asynchronicznie do adresu powrotu (MAIL FROM) oryginalnej wiadomości. Domena odbierająca będzie próbować wysłać te wymiany do serwera MX adresu powrotnego i na port 25 (ponieważ port 25 jest domyślnym portem do relaying e-maili w internecie). Innym przykładem jest odbieranie pętli feedback (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 # słucha na porcie 25 i IP 10.0.1.22
Port 465: przestarzały i nieaktualny port SMTP
Port 465 nie jest już akceptowanym standardem dla SMTP. Jednak istnieją pewne starsze systemy, które nadal używają portu 465 dla SMTP, a niektóre strony pomocy w internecie wciąż sugerują port 465 jako zalecaną konfigurację. Port zyskał redundancję w końcówce lat 90-tych, ale wciąż opiera się na metodzie pasywnego, domyślnego SSL w celu nawiązania bezpiecznej transmisji. Nasza rada? Nie rób tego, chyba że twoja aplikacja absolutnie tego wymaga.
IANA pierwotnie przydzieliła port 465 do szyfrowanej wersji SMTP zwanej SMTPS. Początkowo proponowano wysyłanie e-maili z użyciem Secure Sockets Layer (SSL). Jednak IANA ponownie przydzieliła ten port do innego celu, więc nie powinien być dłużej używany dla 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 wiadomości e-mail w celu dostarczania. Na przykład, jeśli używasz oprogramowania klienta e-mail, takiego jak Outlook lub Apple Mail, prawdopodobnie jest skonfigurowane do używania tego portu do wysyłania wiadomości. To nie tylko oprogramowanie klientów e-mail, jednak. Systemy, które przesyłają wiadomości do usługi dostarczania e-mail, takiej jak SparkPost, również powinny być skonfigurowane do używania tego portu.
Wszyscy klienci SparkPost powinni używać portu 587 jako domyślnego, chyba że jesteś wyraźnie zablokowany przez sieć lub dostawcę chmury. Użycie portu 587, w połączeniu z szyfrowaniem TLS, jest najlepszym sposobem na zapewnienie, że e-maile są przesyłane bezpiecznie i niezawodnie do SparkPost (lub prawie dowolnego 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 wiele innych dostawców usług e-mail wspiera użycie portu 2525 jako alternatywy dla portu 587 dla SMTP, w przypadku gdy powyższe porty są zablokowane. (Jednym z zauważalnych przykładów, gdzie jest to wymagane, są usługi hostowane na Google Compute Engine.) Jeśli próbowałeś portu 587, ale doświadczasz problemów z łącznością, spróbuj portu 2525. Podobnie jak port 587, większość implementacji, które słuchają na porcie 2525, także wspiera szyfrowanie TLS.
Czy port SMTP ma znaczenie?
Poza wyzwaniami związanymi z łącznością, użycie niepoprawnego portu wpłynie na skuteczność dostarczania. Komunikacja e-mailowa może być skuteczna tylko wtedy, gdy znajdzie się między nadawcą a odbiorcą, a właściwy port zapewnia pomyślne dostarczenie.
Dla większości użytkowników, twój dostawca e-mail skonfiguruje porty za ciebie, więc nie musisz wybierać. Jednak dla innych ważne jest zrozumienie, że różnym funkcjom przypisane są różne porty, głównie podzielone na przesyłanie i relaying.
Przesyłanie i relaying
Przesyłanie to czynność przekazywania przez Ciebie świeżo stworzonych komunikatów elektronicznych do skrzynki wychodzącej z twoim dostawcą usług e-mail. Jeśli Ty i Twój dostawca znajdujecie się na różnych portach, to tu proces się zatrzymuje — twój e-mail nie przejdzie dalej. Gdy znajdujemy się na tym samym porcie, twój serwer pocztowy akceptuje wychodzącą komunikację i wymienia powitanie z komputerem po drugiej stronie. Kiedy wszystko jest bezpieczne i w zgodzie, następuje transmisja. Ten proces nazywa się relaying.
Co to jest serwer SMTP?
Serwer SMTP to komputer, który napędza protokół używany przez twojego klienta e-mail podczas wysyłania, odbierania i/lub relaying wiadomości wychodzących. W ramach procesu serwer SMTP weryfikuje, czy nadawca ma prawo wysyłać wiadomości 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 wiadomości e-mail w dużych ilościach oraz na dostosowanie się do nowych polityk uwierzytelniających.
Jak skonfigurować serwer SMTP
Jeśli chodzi o ustawienie serwera SMTP, możesz zbadać dwie opcje. Możesz subskrybować usługę hostowanego relay poczty elektronicznej. SparkPost jest wiodącym dostawcą usług dostarczania e-mail i analizy. Alternatywnie możesz skonfigurować swój serwer SMTP „na miejscu” dla większej kontroli. Przykładem jest PowerMTA.
Aby uruchomić serwer PowerMTA, skontaktuj się z support@port25.com w sprawie 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 Serwer.
W przypadku podstawowej konfiguracji swojego serwera SMTP należy wziąć pod uwagę kilka czynników i wykonać kilka kroków.
Jakiego adresu IP i numeru portu chcesz, aby twój serwer SMTP odbierał e-maile? Port 25 jest domyślnym portem do relaying wiadomości e-mail. W PowerMTA możesz zmienić ten domyślny numer portu, edytując dyrektywę „smtp-listener” w pliku konfiguracyjnym. smtp-listener 0/0:25 # słucha na porcie 25 wszystkich lokalnych adresów IP. Możesz również określić zasięg CIDR adresów IP
lub
smtp-listener 10.0.1.22:25 # słucha na porcie 25 i IP 10.0.1.22
Musisz zezwolić na relaying wiadomości z twojego klienta e-mail do twojego serwera SMTP. Twój serwer SMTP NIGDY nie powinien być otwartym relayerem. Oznacza to, że musisz w jakiś sposób selektywnie zezwolić na relaying. W PowerMTA istnieje kilka sposobów, aby to zrobić. Możesz uwierzytelnić się za pomocą nazwy użytkownika i hasła. PowerMTA wspiera uwierzytelnianie zarówno LOGIN, PLAIN, jak i mechanizm CRAM-MD5 dla połączeń przychodzących. Jest to konfigurowane w sekcji smtp-user i source w pliku konfiguracyjnym. Dla użytkownika „foo” i hasła „barbaz” <smtp-user foo> password barbaz authentication-method password # certyfikat (TLS) lub system (użytkownik Linux) to inne opcje </smtp-user> # Następnie wymagana jest autoryzacja w sekcji źródłowej <source 0/0> require-auth true </source>
Możesz również selektywnie zezwolić na relaying z określonego adresu IP lub zakresu CIDR. To byłby adres IP twojego klienta e-mail.
<source 10.0.5.20> always-allow-relaying yes # zezwól na przesyłanie z 10.0.5.20 </source>
Możesz również ustawić nazwę/adres domeny odbiorcy (lub wzór), dla którego PowerMTA zaakceptuje e-mail.
# zezwól na relaying e-mail do some.domain relay-domain some.domain relay-address bounce@bounce.yourdomain.com relay-address /@foo(bar)?\.com$/ # regex pattern
Kolejnym czynnikiem do rozważenia jest to, czy chcesz bezpiecznie relaying wiadomości e-mail z twojego klienta e-mail do twojego serwera SMTP (Inbound TLS)? Jeśli twoja odpowiedź brzmi tak, to musisz włączyć STARTTLS dla połączeń przychodzących i skonfigurować certyfikat TLS. W PowerMTA TLS jest obsługiwane 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 są przesyłane tylko przez TLS </source>
Czy chcesz, aby twój serwer SMTP bezpiecznie dostarczał wiadomości e-mail do zdalnych serwerów (Outbound TLS)? W PowerMTA masz możliwość użycia TLS, jeśli zdalny serwer go obsługuje lub wymuszenia TLS i zakończenia połączenia, jeśli zdalny serwer nie obsługuje TLS. <domain *> # (*) jest wildcardem dla wszystkich domen odbiorców 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ć outgoing połączenia SMTP. W PowerMTA to ustawione jest za pomocą dyrektywy smtp-source-host. smtp-source-host 192.168.0.10 mail10.yourserver.com # Możesz również określić zasięg CIDR
Na koniec, jedną z bardzo unikalnych cech PowerMTA jest możliwość separowania przesyłki pocztowej, budując wielohomed host. Technologia VirtualMTA w PowerMTA pozwala użytkownikom na definiowanie i kontrolowanie adresu IP, nazwy hosta i parametrów dostarczania wiadomości dla każdej przesyłki pocztowej. Umożliwia to tworzenie oddzielnych i specyficznych kampanii, klientów lub działów, a jednocześnie uruchamiając tylko jedną instancję 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>
Gdy podstawowe ustawienia są zakończone, możesz przesyłać wiadomości do swojego skonfigurowanego serwera SMTP, hosta/IP oraz 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ę z skonfigurowanym nazwiskiem użytkownika (foo) i hasłem (barbaz).
Podsumowując, port SMTP 587 jest najlepszym wyborem w prawie wszystkich przypadkach do łączenia się ze SparkPost i innymi usługami dostarczania e-maili.
Mam nadzieję, że te informacje pomogły Ci nauczyć się nieco więcej o tym, którego portu SMTP użyć!
~ Lade