Konfiguracja serwera SMTP, użytkowanie i najlepsze praktyki
Opublikowany: 2022-04-08Czy kiedykolwiek zastanawiałeś się, jak faktycznie działają wiadomości e-mail, kiedy wysyłasz wiadomość e-mail i w ciągu kilku sekund znajdują się one w skrzynce odbiorczej odbiorcy, technologia stojąca za tym, jak to się dzieje, to Simple Mail Transfer Protocol (SMTP). Sposób przechowywania wiadomości e-mail na serwerze po odebraniu za pomocą serwera IMAP/POP3 to historia na inny czas, na razie omówimy SMTP i mamy nadzieję, że pod koniec artykułu w pełni rozumiesz protokół STMP, serwery SMTP , Typowe opcje i sposoby, aby Twoje wiadomości e-mail trafiły do spamu.
Co to jest SMTP?
Simple Mail Transfer Protocol (SMTP) to protokół używany do wysyłania wiadomości e-mail, określa wspólny standard, dzięki któremu każdy serwer SMTP może komunikować się z dowolnym innym serwerem SMTP lub serwerem POP3/IMAP w Internecie i rozumieją się nawzajem. Można powiedzieć, że zapewnia to, że różne podmioty zaangażowane w przesyłanie wiadomości e-mail mówią wspólnym językiem.
Co to jest serwer SMTP?
Protokół SMTP musi być udostępniony przez aplikację, ta aplikacja, która odpowiada na żądania SMTP dla tych, którzy chcą wysyłać e-maile lub przekaźniki e-mail, nazywa się SMTP Serve/SMTP Relay. Możesz podzielić go na dwa typy, jak podano poniżej, oba są w większości takie same, z wyjątkiem niewielkiej różnicy –
- Serwer SMTP : to to samo, co przekaźnik SMTP, ale używany głównie, gdy domena odbiorcy jest taka sama jak domena serwera. Są one zwykle używane z bezpłatnymi usługami pocztowymi, takimi jak gmail.com , yahoo.com.
- Serwer przekaźnika SMTP : jest to również serwer, ale tego terminu używa się, gdy źródłowa i docelowa domena poczty e-mail różnią się od domen serwera SMTP. Przykładem mogą być SendGrid lub SendInBlue, które oferują te serwery. Te serwery to głównie routery do obsługi poczty.
Fałszywe serwery SMTP: – Te serwery są używane głównie do testowania przez programistów, w zasadzie są to serwery typu catch-all, które pozwalają użytkownikom zobaczyć, jak wiadomość e-mail będzie wyglądać na końcu odbiorcy bez faktycznego wysyłania wiadomości e-mail. Możesz zainstalować lokalną aplikację, taką jak MailHog lub MailCatcher, lub skorzystać z chmury na dostarczonej, takiej jak Mailtrap lub Nasze lokalne narzędzie.
Jak działa SMTP?
Poniżej znajduje się wspólny przewodnik po tym, jak proces wysyłania wiadomości e-mail działa z SMTP.
- Użytkownik, który chce wysłać wiadomość e-mail z adresu powiedz [email protected] do [email protected] używa swojego klienta poczty e-mail do przygotowania wiadomości e-mail z tematem i treścią, a następnie naciśnij Wyślij.
- Gdy użytkownik naciśnie przycisk Wyślij, klient poczty e-mail połączy się ze skonfigurowanym serwerem SMTP, na razie załóżmy, że jest to smtp.source.com . Klient i serwer SMTP wykonują uzgadnianie, a jeśli wymagana jest autoryzacja, klient dostarczy poświadczenia dla tego samego.
- Po uścisku dłoni Klient e-mail wysyła adres odbiorcy, który w naszym przypadku to [email protected] , temat i treść.
- Jeśli to nasz użytkownik wysyłał do kogoś w tej samej domenie, nasz serwer po prostu przekaże go wewnętrznie do lokalnego serwera odbiorcy.
- Następnie serwer SMTP za pomocą żądania DNS dla rekordów MX znajduje adres IP odbiorcy lub adres domeny, na której działa jego serwer SMTP.
- Następnie łączy się z adresem SMTP odbiorcy i próbuje dostarczyć e-mail.
- Serwer e-mail odbiorcy sprawdza, czy może obsłużyć przesyłaną do niego wiadomość e-mail. A jeśli wszystko jest w porządku, przesyła to do przychodzącego serwera IMAP lub POP3.
Wspólny port i adres SMTP
W większości przypadków adres SMTP będzie prefiksem poczty lub smtp przed domeną, z którą próbujesz się połączyć. Są one również określane przez rekordy Mail Exchange (MX) w systemie DNS, które kierują klienta do serwera pocztowego, który ma obsługiwać sposób kierowania wiadomości e-mail.
Aby znaleźć adres serwera SMTP, możesz użyć polecenia dig
1 2 3 |
root @ mailtest : ~ # dig +short freesmtpservers.com MX 20 smtp . freesmtpservers . com . 10 smtp . freesmtpservers . com . |
Następnie możesz użyć polecenia dig, aby znaleźć adres IP, jeśli jest to wymagane
1 2 |
root @ mailtest : ~ # dig +short smtp.freesmtpservers.com 104.237.130.88 |
Sprawy nie są takie proste z portem, do którego można się podłączyć, serwery i przekaźniki zwykle mają zestaw różnych portów, do których można się podłączyć, każdy powstał z czasem, aby spełnić określone wymagania.
Port SMTP
Numer portu | Opis | Informacja |
---|---|---|
25 | Standardowy port SMTP | Powinien być używany głównie do przekazywania poczty e-mail |
465 | Przestarzały port SMTP | Był dla bezpiecznego SMTP, Używany SSL do szyfrowania. Unikaj używania. |
587 | Nowoczesny bezpieczny port SMTP | Większość nowoczesnych klientów poczty e-mail będzie z tego korzystać, używa szyfrowania TLS. |
2525 | Alternatywny niestandardowy port SMTP | Jest to używane jako alternatywa dla 587 w przypadku jego zablokowania. |
W większości przypadków będziesz używać portu 587 do swoich potrzeb.
Popularne nazwy serwerów SMTP
Typowe adresy serwerów SMTP zaczynają się od smtp. lub poczta. z nazwą domeny, niektóre mogą mieć również adres IP. Poniżej wymieniliśmy kilka typowych z ich szczegółami –
Nazwa serwisu | Serwer SMTP | Port |
---|---|---|
Poczta internetowa Google | smtp.gmail.com | 587 |
Outlook.com | smtp.live.com | 587 |
Office365.com | smtp.office365.com | 587 |
poczta Yahoo | smtp.poczta.yahoo.com | 465 |
Poczta Yahoo | plus.smtp.poczta.yahoo.com | 465 |
Yahoo Wielka Brytania | smtp.mail.yahoo.co.uk | 465 |
Yahoo Niemcy | smtp.poczta.yahoo.com | 465 |
Yahoo AU/NZ | smtp.mail.yahoo.com.au | 465 |
O2 | smtp.o2.ie | 25 |
O2.uk | smtp.o2.co.uk | 25 |
AOL.com | smtp.aol.com | 587 |
AT&T | smtp.att.yahoo.com | 465 |
NTL @ntlworld.com | smtp.ntlworld.com | 465 |
Połącz BT | pop3.btconnect.com | 25 |
BT Openworld | poczta.btopenworld.com | 25 |
Internet BT | poczta.btinternet.com | 25 |
Pomarańczowy | smtp.orange.net | 25 |
Orange.pl | smtp.orange.co.uk | 25 |
Wanadoo Wielka Brytania | smtp.wanadoo.co.uk | 25 |
Hotmail | smtp.live.com | 465 |
O2 Online Niemcy | mail.o2online.de | 25 |
T-Online Niemcy | securesmtp.t-online.de | 587 |
1 i 1 (1 i 1) | smtp.1and1.com | 587 |
1&1 Niemcy | smtp.1und1.de | 587 |
Comcast | smtp.comcast.net | 587 |
Verizon | wychodzący.verizon.net | 465 |
Verizon (hostowany przez Yahoo) | wychodzący.yahoo.verizon.net | 587 |
Poczta Zoho | smtp.zoho.com | 465 |
Poczta.com | smtp.mail.com | 587 |
GMX.com | smtp.gmx.com | 465 |
[e-mail chroniony] przez USA.NET | smtp.postoffice.net | 465 |
Zbiorcze ustawienia dostawcy serwera SMTP
Co się stanie, jeśli chcesz wysłać więcej niż kilka e-maili, powiedzmy 10000 tys. E-maile są dość szybkie, ponieważ protokół SMTP jest nieco powolny.
Jeśli liczba nie jest zbyt duża, możesz skorzystać z naszej listy dostawców bezpłatnych serwerów SMTP, aby dokonać wyboru.
Jeśli chcesz wysłać wiadomość e-mail do dużej bazy użytkowników lub może w celu marketingu e-mailowego, poniżej podaliśmy ceny z różnymi wymienionymi dostawcami.
Sprzedawca | Bezpłatnie / Miesiąc | Dzienny limit | Płatne plany | Uwagi |
---|---|---|---|---|
Wyślij w kolorze niebieskim | 9000 | 300 | 25 $ za 10 000 do 499 $ za 1 milion | Najlepsze darmowe |
TurboSMTP | 6000 | 200 | 14,95 za 50 tys. do 979,95 za 2 mln. | 6000 / miesiąc przez 12 miesięcy |
Alibaba Direct Mail | 6000 | 200 | .00029 na 1000 e-maili | |
PepiPost | 3000 | 100 | 25 $ za 150 000 do 445 za 2 miliony | |
WyślijGrid | 3000 | 100 | 14,95 USD za 50 000 e-maili do 749 USD za 150 000 | |
SparPost | 3000 | 100 | 20 USD za 50 tys. do 525 USD za 1 mln | |
Elastyczny e-mail | 3000 | 100 | Kosztuje jak Amazon SES | Niski koszt płatnej opcji |
Amazon SES | 62000 | 0,0001 za 1000 e-maili | Jeden z najtańszych, bezpłatny, jeśli zostanie wysłany z serwera AWS EC2 | |
Gmail | 15000 | 500 | Gsuite to opcja premium | Domeną będzie gmail.com , może to prowadzić do zawieszenia konta. |
Korzystanie z serwera SMTP z WordPress
WordPress obsługuje prawie 40% witryn w Internecie, domyślnie używa PHP Mail do wysyłania transakcyjnych wiadomości e-mail, które z kolei, jeśli nie są skonfigurowane, używają sendmail . Może to być strzałem w dziesiątkę w przypadku dostarczania, dlatego zalecamy użycie Wtyczka WordPress, która może korzystać z ustawień SMTP lub z API SMTP.
Domyślnie WordPress używa poczty PHP do wysyłania wiadomości e-mail, jeśli jest poprawnie skonfigurowana, wystarczy, ale w większości przypadków łatwiej jest korzystać z usług innych firm, ponieważ większość współdzielonych hostów nie pozwala na bezpośredni dostęp do konsoli, aby sprawdzić, co się dzieje i Adres IP hosta mógł zostać umieszczony na czarnej liście z powodu spamu, ponieważ na serwerze mogą znajdować się również inni użytkownicy (w przypadku wspólnego hostingu współdzielonego), którzy mogą nie zachowywać się i powodować umieszczanie adresu IP na czarnej liście. Bycie na czarnej liście oznacza, że adres IP Twojego serwera znajduje się na globalnej liście znanych spamerów, co jeszcze bardziej utrudnia dotarcie do Twojej poczty. Swój status możesz sprawdzić tutaj.
W przypadku WordPressa zalecamy wtyczkę Wp Mail SMTP, która jest łatwa w konfiguracji, konfiguracji i obsługuje wielu różnych dostawców, w tym Gmaila, istnieje również opcja rejestrowania wszystkich wysłanych wiadomości e-mail. Bezpłatny abonament powinien wystarczyć dla większości użytkowników.
Możesz go łatwo zainstalować z poziomu WordPressa, a nawet pobrać ze strony internetowej WordPressa. Ma plan premium, ale darmowy powinien wystarczyć dla większości użytkowników.
Skonfiguruj samoobsługowy serwer SMTP w systemie Linux
Szybkie porównanie MTA, wybierzemy Postfix, ponieważ będziemy pracować z linuxem –
Jeśli jesteś... | qmail | Exim | Wyślij maila | Przyrostek | Uwagi |
---|---|---|---|---|---|
Niedoświadczony | 0 | 3 | 1 | 3 | Exim i Postfix mają dobre dokumenty i jasne przykłady |
Martwisz się o bezpieczeństwo | 3 | 2 | 0 | 3 | Postfix jest bezpieczny i nowoczesny; qmail jest bezpieczny, ale bardzo stary i zepsuty; Exim jest bezpieczny dla różnych kryteriów (czytaj powyżej). |
Poleganie na milters Sendmaila | 0 | 1 | 3 | 2 | Postfix może uruchomić milters; może używać równoważnych routerów Exim/skryptu filtrującego |
Chcąc minimum kłopotów | 0 | 3 | 0 | 3 | Sendmail ma kilka łatwych interfejsów, ale im głębiej idziesz, tym gorzej. Postfix i Exim są bardziej przewidywalne. |
Ograniczone zasoby | 3 | 2 | 1 | 2 | Zobacz aplikację osadzoną poniżej, aby uzyskać inne komentarze |
W systemie Windows | 0 | 2 | 3 | 0 | Sendmail ma natywny port Windows; Exim jest w dystrybucji Cygwin |
Potrzebujesz wsparcia komercyjnego | 1 | 3 | 3 | 3 | Istnieją kompetentne firmy dla wszystkich MTA; qmail jest z natury mniej obsługiwany, ponieważ jest tak stary |
Postfix to agent transferu poczty (MTA), który może działać jako serwer lub klient SMTP do wysyłania i odbierania wiadomości e-mail. Jest łatwy w konfiguracji i konfiguracji, a my sami używamy go do większości naszych potrzeb, można go również skonfigurować jako pośrednika w przesyłaniu wiadomości e-mail za pośrednictwem usług e-mail innych firm. Zajmiemy się tylko podstawową konfiguracją i wyślemy Twój pierwszy e-mail.
Najprostsza konfiguracja polega na zainstalowaniu programu Postfix i powinieneś być gotowy.
Taka konfiguracja podstawowa będzie działać technicznie, ale Twoje e-maile mogą trafić do spamu, aby zaspokoić to i zapewnić lepszą dostarczalność wiadomości e-mail, mamy inny przewodnik, w którym dodamy inne wymagania, takie jak DKIM lub SPF, które są potrzebne, aby upewnić się, że Twoje e-maile zostaną wysłane poprzez. Ale nadal, o ile nie ma bardzo dobrego powodu, nie zalecamy uruchamiania własnego serwera poczty e-mail.
Ten proces zakłada, że masz zainstalowane nowe Ubuntu 20.04 i możesz pracować z wierszem poleceń Linux , jeśli nie, zalecamy użycie jednego z istniejących dostawców SMTP. Skonfigurujemy postfix na serwerze Ubuntu 20.04 i wyślemy wiadomość e-mail za jego pomocą do naszej własnej fikcyjnej usługi w celu przetestowania, czy działa.
Na początek wydamy polecenie aktualizacji pamięci podręcznej dla menedżera pakietów apt
sudo apt update
Następnie zainstalujemy postfix za pomocą następującego polecenia –
sudo apt install postfix
Instalacja otworzy kilka monitów, proszę dokonać następujących wyborów:

- Ogólny typ konfiguracji poczty? : W tym celu wybierzemy witrynę internetową, ponieważ odpowiada ona naszym potrzebom infrastrukturalnym.
- Systemowa nazwa poczty: jest to podstawowa domena, która będzie używana do wysyłania wiadomości e-mail, jeśli użytkownik nie określi domeny nadawcy. Więc jeśli wyślesz wiadomość e-mail od, powiedzmy, użytkownik1 i nie określono domeny, zostanie ona dodana do wiadomości e-mail. Jeśli więc podany zostanie adres example.com, zostanie wysłany e-mail z adresu [email protected] .
To powinno zająć się podstawową konfiguracją. Aby uzyskać pełną konfigurację, postępuj zgodnie z naszym przewodnikiem konfiguracji serwera poczty. Teraz port 25 powinien być dostępny, możesz sprawdzić, czy jest otwarty, używając dowolnego z poleceń –
1 2 3 4 5 |
sudo lsof - i - P - n | grep LISTEN sudo netstat - tulpn | grep LISTEN sudo ss - tulpn | grep LISTEN sudo lsof - i : 22 ## see a specific port such as 22 ## sudo nmap - sTU - O IP - address - Here |
Czego szukamy czegoś takiego
master 2575 root 13u IPv4 30244 0t0 TCP *:25 (LISTEN)
master 2575 root 14u IPv6 30245 0t0 TCP *:25 (LISTEN)
Jeśli potrzebujesz zmienić konfigurację instalacji, po prostu uruchom polecenie –
1 |
sudo dpkg - reconfigure postfix |
Wszyscy jesteśmy przygotowani, nasz serwer SMTP powinien działać. Następnie możemy wysłać wiadomość e-mail do niektórych użytkowników w Internecie lub przechwycić wszystkie wiadomości e-mail w celu przetestowania rzeczy.
Korzystanie z serwera SMTP
Zwykle klient poczty e-mail jest najczęstszym sposobem, w jaki większość z nas łączy się z serwerem SMTP , ale możesz również bezpośrednio wchodzić z nim w interakcję za pomocą telnetu. Zaczniemy od tej metody, ponieważ jest po prostu fajna.
Wysyłaj pocztę za pomocą telnetu w systemie Linux
Połącz się z lokalnym serwerem SMTP, wprowadzając następujące polecenie –
1 |
telnet localhost 25 |
Zobaczysz coś takiego –
1 2 3 4 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . |
Jeśli nie możesz się połączyć, upewnij się, że postfix jest uruchomiony i sprawdź, czy port 25 jest otwarty.
Teraz wyślijmy e-mail, aby powiedzieć [email protected] (przechwyć wszystkie e-maile).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . 220 mailtest ESMTP Postfix ( Ubuntu ) ehlo localhost 250 - li292 - 146.members.linode.com 250 - PIPELINING 250 - SIZE 10240000 250 - VRFY 250 - ETRN 250 - STARTTLS 250 - ENHANCEDSTATUSCODES 250 - 8BITMIME 250 - DSN 250 - SMTPUTF8 250 CHUNKING mail from : bob @ example . com 250 2.1.0 Ok rcpt to : smtptest @ freesmtpservers . com 250 2.1.5 Ok data 354 End data with . Subject : Testing Email service This is a test email . . 250 2.0.0 Ok : queued as A6ADC402D4 quit 221 2.0.0 Bye Connection closed by foreign host . |
Idź sprawdź, czy wiadomość e-mail została odebrana w skrzynce odbiorczej dla [email protected] lub jeśli użyłeś innego odbiorcy, możesz sprawdzić go w swojej skrzynce odbiorczej.
Wyślij e-mail z wiersza poleceń systemu Linux
W Linuksie możemy użyć polecenia sendmail, aby szybko wysłać e-mail.
1 |
echo "Subject: hello" | sendmail - v smtptest @ freesmtpservers . com |
Mam nadzieję, że podoba Ci się mój artykuł, jeśli uważasz, że przegapiłem kilka punktów lub gdzieś się pomyliłem, daj mi znać, a zaktualizuję go tutaj.