Jeśli Twój sklep na Magento 2 wysyła maile transakcyjne przez domyślną funkcję mail() serwera, masz poważny problem — większość z nich ląduje w spamie albo nie dociera wcale. Konfiguracja własnego SMTP w Magento 2 to nie opcja, to konieczność dla każdego sklepu, który chce utrzymać dostarczalność potwierdzeń zamówień, resetów hasła i powiadomień o wysyłce. Ten artykuł przeprowadzi Cię przez cały proces: od wyboru portu, przez instalację rozszerzenia, aż po diagnozę i naprawę najczęstszych błędów.
Dlaczego domyślna konfiguracja poczty w Magento 2 nie wystarcza
Magento 2 w wersji out-of-the-box korzysta z funkcji mail() PHP lub biblioteki Laminas Mail (dawniej Zend Mail) bez uwierzytelnienia SMTP. Oznacza to, że maile wychodzą z adresu IP serwera hostingowego, który nie ma skonfigurowanych rekordów SPF, DKIM ani DMARC dla Twojej domeny. Filtry antyspamowe takich dostawców jak Gmail, Outlook czy OVH niemal natychmiast klasyfikują takie wiadomości jako podejrzane.
Drugi problem to brak kolejkowania i raportowania. Gdy mail nie dotrze, nie wiesz o tym — Magento nie loguje błędów SMTP w standardowym widoku. Własny serwer SMTP rozwiązuje oba te problemy jednocześnie: uwierzytelnia nadawcę i pozwala monitorować wysyłkę.
Porty SMTP — który wybrać dla Magento 2?
Wybór portu to jedna z pierwszych decyzji przy konfiguracji. Poniższa tabela porównuje trzy najczęściej używane opcje:
| Port | Protokół szyfrowania | Zastosowanie | Rekomendacja |
|---|---|---|---|
| 25 | Brak / STARTTLS (opcjonalnie) | Komunikacja serwer–serwer (MTA) | ❌ Blokowany przez większość hostingów i ISP |
| 465 | SSL/TLS (implicit) | Starszy standard SMTPS | ⚠️ Działa, ale RFC 8314 preferuje 587 |
| 587 | STARTTLS (explicit) | Submission — wysyłka od klienta do serwera | ✅ Zalecany standard dla Magento 2 |
Port 587 z STARTTLS to aktualny standard zgodny z RFC 6409 i obsługiwany przez wszystkich liczących się dostawców SMTP: Google Workspace, SendGrid, Mailgun, Amazon SES czy własne serwery Postfix/Exim. Jeśli Twój dostawca hostingu blokuje port 587 (co zdarza się na najtańszych planach shared), przejdź na 465 z SSL — ale najpierw sprawdź, czy blokada nie dotyczy też 465.
Jak sprawdzić, czy port jest otwarty?
Z poziomu serwera (SSH) wykonaj polecenie: telnet smtp.twojdostawca.com 587. Jeśli połączenie się nawiązuje i widzisz odpowiedź 220, port działa. Alternatywnie użyj openssl s_client -connect smtp.twojdostawca.com:587 -starttls smtp — to od razu przetestuje też negocjację TLS.
Instalacja rozszerzenia SMTP w Magento 2
Magento 2 nie ma wbudowanego panelu konfiguracji SMTP z uwierzytelnianiem — potrzebujesz rozszerzenia. Na rynku dostępnych jest kilka sprawdzonych opcji.
Najpopularniejsze rozszerzenia SMTP dla Magento 2
- Mageplaza SMTP — darmowe, aktywnie rozwijane, obsługuje ponad 20 dostawców SMTP, wbudowany log wysyłki i podgląd maili testowych. Instalacja przez Composer.
- MagePal SMTP Email Settings — lekkie, open-source (GitHub), minimalna konfiguracja, dobre dla prostych wdrożeń.
- Magecomp SMTP Email — płatne (ok. 49 USD), oferuje zaawansowane raportowanie i kolejkowanie.
- Amasty Email Log — rozszerzenie uzupełniające, skupione na logowaniu i archiwizacji wysłanych maili, przydatne przy audytach RODO.
Do większości wdrożeń MŚP w zupełności wystarczy Mageplaza SMTP. Poniżej instalacja przez Composer — jedyna metoda zalecana w środowiskach produkcyjnych.
Instalacja Mageplaza SMTP przez Composer
- Zaloguj się na serwer przez SSH i przejdź do katalogu głównego Magento.
- Wykonaj:
composer require mageplaza/module-smtp - Następnie:
php bin/magento module:enable Mageplaza_Smtp - Uruchom:
php bin/magento setup:upgrade - Wyczyść cache:
php bin/magento cache:clean - Jeśli używasz trybu produkcyjnego:
php bin/magento setup:di:compileorazphp bin/magento setup:static-content:deploy pl_PL en_US
Po instalacji moduł pojawi się w panelu administracyjnym pod ścieżką Stores → Configuration → Mageplaza → SMTP.
Konfiguracja SMTP w panelu admina Magento 2
Przejdź do Stores → Configuration → Mageplaza → SMTP. Jeśli korzystasz z natywnych ustawień Laminas Mail (bez rozszerzenia), znajdziesz je pod Stores → Configuration → Advanced → System → Mail Sending Settings — ale ta sekcja nie obsługuje uwierzytelnienia, więc traktuj ją jako plan awaryjny.
Kluczowe pola konfiguracji
- SMTP Host — adres serwera SMTP dostawcy, np.
smtp.gmail.com,smtp.sendgrid.net,email-smtp.eu-west-1.amazonaws.com. - SMTP Port — wpisz
587(STARTTLS) lub465(SSL). - Authentication — wybierz
LOGIN(najczęściej) lubPLAIN. OpcjaNONEtylko dla serwerów wewnętrznych bez hasła. - Username / Password — dane konta SMTP dostawcy. Dla Google Workspace użyj hasła do aplikacji (App Password), nie hasła do konta Google.
- Protocol —
TLSdla portu 587,SSLdla portu 465. - Return Path Email — adres, na który trafiają bounce'y. Powinien być na tej samej domenie co nadawca.
Po uzupełnieniu pól kliknij Test Connection (dostępny w Mageplaza SMTP) — rozszerzenie wyśle testową wiadomość na wskazany adres i pokaże odpowiedź serwera SMTP. Zielony status 250 OK oznacza, że konfiguracja jest poprawna.
Ustawienie adresu nadawcy
Adres nadawcy konfiguruje się osobno w Stores → Configuration → General → Store Email Addresses. Upewnij się, że adres w polu Sender Email jest dokładnie tym samym kontem, które uwierzytelniasz w SMTP — rozbieżność między From: a kontem SMTP to częsta przyczyna odrzuceń przez serwery pocztowe (błąd 550 5.7.1).
Najczęstsze błędy wysyłki maili w Magento 2
Nawet po poprawnej konfiguracji mogą pojawić się problemy. Poniżej lista najczęstszych błędów wraz z przyczynami i rozwiązaniami.
Błąd: „Connection refused" lub timeout
Przyczyna: Port SMTP jest zablokowany przez firewall serwera lub dostawcę hostingu. Rozwiązanie: Sprawdź dostępność portu poleceniem telnet lub nc -zv host port. Skontaktuj się z hostingiem w celu odblokowania portu 587. Alternatywnie zmień port na 465.
Błąd: „535 Authentication failed"
Przyczyna: Błędne dane logowania lub wymagane hasło do aplikacji (np. w przypadku kont Google z włączonym 2FA). Rozwiązanie: Dla Google Workspace wygeneruj App Password w ustawieniach konta → Bezpieczeństwo → Hasła do aplikacji. Sprawdź też, czy login to pełny adres e-mail, a nie sama nazwa użytkownika.
Błąd: „550 5.7.1 Relay access denied"
Przyczyna: Serwer SMTP nie zezwala na wysyłkę z adresu IP Twojego serwera lub adres nadawcy nie jest autoryzowany na koncie SMTP. Rozwiązanie: Dodaj IP serwera do białej listy w panelu dostawcy SMTP lub upewnij się, że adres From: jest zarejestrowany w koncie SendGrid/Mailgun jako zweryfikowany nadawca.
Błąd: Maile wychodzą, ale lądują w spamie
Przyczyna: Brakuje rekordów SPF, DKIM lub DMARC w DNS domeny. Rozwiązanie: Dodaj rekord SPF wskazujący na serwery SMTP dostawcy (np. include:sendgrid.net), skonfiguruj DKIM w panelu dostawcy i opublikuj klucz publiczny w DNS. Rekord DMARC (v=DMARC1; p=quarantine;) zamknij na końcu, gdy SPF i DKIM działają. Weryfikację możesz przeprowadzić narzędziem MXToolbox.
Błąd: Magento nie wysyła maili po aktualizacji
Przyczyna: Aktualizacja Magento mogła wyczyścić konfigurację lub zdezaktywować moduł SMTP. Rozwiązanie: Sprawdź status modułu (php bin/magento module:status Mageplaza_Smtp), ponownie uruchom setup:upgrade i wyczyść cache. Sprawdź też logi w var/log/exception.log i var/log/system.log.
Błąd: „STARTTLS extension is not supported by the server"
Przyczyna: Wybrano protokół TLS (STARTTLS) przy porcie 465, który wymaga SSL implicit. Rozwiązanie: Zmień protokół na SSL w ustawieniach rozszerzenia SMTP lub przełącz port na 587.
Własny serwer SMTP a zewnętrzny dostawca — co wybrać?
Dla sklepów wysyłających do 500 maili transakcyjnych dziennie własna skrzynka na serwerze VPS (Postfix + Dovecot) jest w pełni wystarczająca — pod warunkiem poprawnej konfiguracji SPF/DKIM. Przy większej skali lub gdy dostarczalność jest priorytetem, warto rozważyć dedykowanych dostawców SMTP.
| Rozwiązanie | Koszt | Dostarczalność | Konfiguracja |
|---|---|---|---|
| Własny serwer (VPS) | Niski (koszt VPS) | Zależna od reputacji IP | Wymaga wiedzy technicznej |
| Google Workspace | ~24 PLN/mies./użytkownik | Wysoka | Prosta, limit 2000 maili/dzień |
| SendGrid / Mailgun | Od 0 (free tier) do ~200 PLN/mies. | Bardzo wysoka | Prosta, API + SMTP |
| Amazon SES | 0,10 USD / 1000 maili | Bardzo wysoka | Wymaga weryfikacji domeny w AWS |
Jeśli chcesz wysyłać mailingi z własnych skrzynek SMTP bez uzależniania się od zewnętrznych platform i ich limitów, narzędzie takie jak MailerPRO pozwala zarządzać wysyłką przez dowolne konto SMTP — w tym skrzynki firmowe na własnej domenie — z pełną kontrolą nad kolejkowaniem i raportowaniem dostarczalności.
Dobre praktyki po konfiguracji SMTP w Magento 2
- Włącz logowanie maili — Mageplaza SMTP oferuje zakładkę Email Log, gdzie widzisz każdą wysłaną wiadomość ze statusem i treścią. Nieocenione przy diagnozowaniu problemów.
- Ustaw Return-Path i Reply-To — Return-Path obsługuje bounce'y automatyczne, Reply-To kieruje odpowiedzi klientów na właściwy adres obsługi.
- Monitoruj reputację IP — sprawdzaj regularnie, czy IP serwera nie trafiło na czarne listy (np. Spamhaus, Barracuda). Jeden incydent spamowy może zablokować wysyłkę na tygodnie.
- Testuj maile przed wdrożeniem — użyj narzędzia Mail-Tester.com, aby sprawdzić wynik dostarczalności (cel: powyżej 9/10) przed uruchomieniem sklepu produkcyjnie.
- Archiwizuj logi zgodnie z RODO — jeśli logujesz treść maili transakcyjnych zawierających dane osobowe, upewnij się, że masz podstawę prawną (art. 6 ust. 1 lit. b RODO — wykonanie umowy) i określony okres retencji logów.
Konfiguracja SMTP w Magento 2 to jednorazowy wysiłek, który procentuje każdego dnia — wyższy wskaźnik dostarczalności maili transakcyjnych bezpośrednio przekłada się na mniej porzuconych koszyków, mniej zgłoszeń do supportu i większe zaufanie klientów. Zacznij od instalacji rozszerzenia, wybierz port 587 z STARTTLS, skonfiguruj rekordy DNS i przetestuj wysyłkę — cały proces zajmuje mniej niż godzinę, a korzyści są natychmiastowe.
📨 Wypróbuj Mailer PRO
Wysyłaj mailing z własnych skrzynek SMTP — bez prowizji od liczby maili. Zachowujesz pełną kontrolę nad reputacją domeny.
Zobacz cennik Jak to działa


