Dlaczego wysyłać przez porty 587 i 465
Port 25 służy do przekazywania poczty między serwerami pocztowymi. Jeśli wysyłasz wiadomości z serwera prosto na serwer pocztowy odbiorcy, sam musisz dbać o reputację IP, odwrotny DNS i wolumen wysyłki, a wiadomości z IP nowego serwera łatwo trafiają do spamu.
Porty 587 i 465 to porty nadawcze, przez które zalogowany użytkownik przekazuje pocztę. Logujesz się do usługi wysyłki poczty loginem i hasłem i przekazujesz jej wiadomości, a jej serwery z zarządzaną reputacją dostarczają je za Ciebie. To najpewniejszy sposób, aby wiadomości o rejestracji, resetowaniu hasła i zamówieniach trafiały do skrzynki odbiorczej.
- Port 587: połączenie otwiera się bez szyfrowania, a potem szyfrowanie włącza się przez STARTTLS. Ten port domyślnie używa większość usług i programów.
- Port 465: połączenie od samego początku jest szyfrowane przez TLS. W ustawieniach często oznaczany jest jako SSL lub SSL/TLS.
Jak wybrać usługę wysyłki poczty
Usługi wysyłki poczty są dwóch głównych rodzajów. Pierwszy to usługi poczty transakcyjnej do masowej wysyłki powiadomień ze stron i aplikacji, drugi to funkcja SMTP w poczcie firmowej lub prywatnej, z której już korzystasz. W każdym przypadku, gdy otrzymasz cztery poniższe parametry, możesz przejść do konfiguracji.
- Adres serwera SMTP: na przykład smtp.example.com
- Port: 587 (STARTTLS) lub 465 (SSL/TLS)
- Nazwa użytkownika: login lub adres e-mail nadany przez usługę
- Hasło: osobne hasło SMTP lub klucz API usługi
Sklepom internetowym i usługom z dużą liczbą wysyłek wygodniejsza jest poczta transakcyjna: prowadzi dziennik wysyłek, obsługuje zwroty i wypisy. Do kilku powiadomień wystarczy też SMTP konta pocztowego.
Sprawdzenie połączenia SMTP z serwera
Przed konfiguracją sprawdź, czy serwer łączy się z usługą wysyłki. Poniższe polecenia tylko sprawdzają połączenie i nie wysyłają wiadomości.
nc -vz smtp.example.com 587
openssl s_client -starttls smtp -connect smtp.example.com:587 -crlf -quiet
openssl s_client -connect smtp.example.com:465 -crlf -quietJeśli pierwsza linia pokazuje succeeded lub open, a polecenie openssl wyświetla powitanie serwera zaczynające się od 220, wszystko gotowe. Wyjście przez Ctrl+C. Jeśli nie masz polecenia nc, zainstaluj je: w Ubuntu i Debian apt install -y netcat-openbsd, w AlmaLinux dnf install -y nmap-ncat.
Podłączenie Postfixa do usługi wysyłki
Aby zebrać w jednym miejscu pocztę z programów na serwerze, powiadomień cron i polecenia mail, skonfiguruj Postfix jako przekaźnik przekazujący wiadomości do usługi wysyłki. Cała poczta z serwera będzie wychodzić przez port 587 z logowaniem.
Krok 1. Instalacja
apt install -y postfix libsasl2-modules mailutilsJeśli podczas instalacji pojawi się pytanie o typ konfiguracji poczty, wybierz Internet Site, a jako nazwę poczty podaj swoją domenę. W AlmaLinux 10 zainstaluj poleceniem dnf install -y postfix cyrus-sasl-plain s-nail i włącz poleceniem systemctl enable --now postfix.
Krok 2. Konfiguracja przekazywania
postconf -e 'relayhost = [smtp.example.com]:587'
postconf -e 'smtp_sasl_auth_enable = yes'
postconf -e 'smtp_sasl_password_maps = texthash:/etc/postfix/sasl_passwd'
postconf -e 'smtp_sasl_security_options = noanonymous'
postconf -e 'smtp_tls_security_level = encrypt'
postconf -e 'inet_interfaces = loopback-only'inet_interfaces = loopback-only przyjmuje tylko wiadomości wysyłane z samego serwera, więc z zewnątrz nie da się użyć tego serwera jako przekaźnika poczty.
Krok 3. Zapisz dane logowania
echo '[smtp.example.com]:587 SMTP_USER:SMTP_PASSWORD' > /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
systemctl restart postfixJeśli usługa działa przez port 465, zmień port w relayhost i sasl_passwd na 465 i dodaj linię postconf -e 'smtp_tls_wrappermode = yes'.
Krok 4. Wysyłka testowa i sprawdzenie logów
echo "VPS mail test" | mail -s "Test from VPS" you@example.com
postqueue -p
journalctl -t postfix/smtp -n 20Jeśli w logu widać status=sent, usługa wysyłki przyjęła wiadomość. postqueue -p pokazuje wiadomości, które jeszcze nie wyszły. Jeśli poprawiłeś dane logowania, wykonaj systemctl restart postfix, a potem wyślij je ponownie poleceniem postqueue -f.
Konfiguracja SMTP w WordPressie i aplikacjach
Większość stron i aplikacji ma pola konfiguracji SMTP, więc możesz podłączyć je prosto do usługi wysyłki, bez Postfixa na serwerze. W WordPressie zainstaluj wtyczkę SMTP i podaj poniższe wartości, a wiadomości o rejestracji i resetowaniu hasła będą wychodzić przez tę usługę.
- Host SMTP: adres usługi wysyłki
- Szyfrowanie: TLS (STARTTLS) dla portu 587, SSL dla portu 465
- Port: 587 lub 465
- Uwierzytelnianie: włączone, podaj nazwę użytkownika i hasło
- Adres nadawcy: adres w Twojej domenie (na przykład no-reply@example.com)
Aplikacje w Node.js, PHP i Python konfigurujesz tymi samymi wartościami w bibliotece pocztowej. Nie wpisuj hasła bezpośrednio w kodzie, tylko trzymaj je w zmiennej środowiskowej lub pliku konfiguracyjnym. Instalację WordPressa opisuje poradnik instalacji WordPressa.
Rekordy SPF, DKIM i DMARC w DNS domeny
Serwer pocztowy odbiorcy sprawdza w rekordach DNS, czy wiadomość naprawdę przyszła z miejsca dozwolonego przez Twoją domenę. Jeśli dodasz trzy rekordy, wiadomości znacznie częściej trafią do skrzynki odbiorczej.
- SPF: lista serwerów, które mogą wysyłać pocztę z Twojej domeny. Dodaj wartość include podaną przez usługę wysyłki do jednego rekordu TXT.
- DKIM: podpis elektroniczny wiadomości. Dodaj rekord TXT lub CNAME utworzony przez usługę wysyłki bez zmian.
- DMARC: określa, co robić z wiadomościami, które nie przeszły weryfikacji SPF i DKIM. Na początek użyj ustawienia, które tylko wysyła raporty, jak poniżej.
_dmarc.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"Gdy przez kilka tygodni raporty pokażą, że wszystkie wiadomości przechodzą weryfikację, podnieś politykę do p=quarantine, a potem do p=reject, aby chronić domenę przed podszywaniem się.
Odbieranie poczty i kolejne kroki
Aby odbierać pocztę w swojej domenie, dodaj do domeny rekordy MX usługi hostingu poczty. Jeśli pocztę przychodzącą obsługuje hosting poczty, a wychodzące powiadomienia usługa wysyłki, serwer może zajmować się tylko stronami i aplikacjami.
Wysyłka przez usługę działa dalej także przy przenosinach lub tworzeniu nowego serwera: wystarczy przenieść kilka linii ustawień. Nawet gdy IP serwera się zmienia, reputacja wysyłki zostaje po stronie usługi, więc dostarczalność nie spada także przy przenosinach strony do innego regionu.
Inne porty otwieraj swobodnie według potrzeb swojej usługi. Jak otworzyć tylko potrzebne porty, opisuje poradnik podstawowej zapory, a zasady korzystania z serwerów zasady dopuszczalnego użytkowania.
