Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

SMTP relay na hostingu — konfiguracja PHPMailer i WordPress

Maile wysyłane przez PHP domyślnie wychodzą bez podpisania DKIM i często trafiają do spamu. Używając SMTP relay z uwierzytelnianiem przez skrzynkę e-mail na własnej domenie poprawisz dostarczalność, dostosujesz nagłówki i zachowasz zgodność z SPF/DKIM.

Opublikowano: 8 kwietnia 2026

Dlaczego nie używać mail() PHP?

Funkcja mail() PHP używa lokalnego agenta MTA (sendmail/postfix) skonfigurowanego przez hosta. Problemy:

  • Brak uwierzytelniania SMTP → trudność z weryfikacją SPF
  • Brak podpisania DKIM (zależne od konfiguracji hosta, często nieaktywne)
  • IP serwera może być na blacklistach (współdzielony hosting)
  • Brak kontroli nad kolejką — trudno debugować problemy z dostarczalnością
  • Limit wysyłek per godzinę narzucany przez hosta (często 100-500/h)

Rozwiązanie: użyj biblioteki SMTP (PHPMailer, SwiftMailer, Symfony Mailer) z dedykowaną skrzynką pocztową lub zewnętrznym serwisem transakcyjnym.

PHPMailer z SMTP — przykład konfiguracji

Zainstaluj PHPMailer przez Composer:

composer require phpmailer/phpmailer

Następnie użyj w kodzie PHP:

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
require 'vendor/autoload.php';

$mail = new PHPMailer(true);

// Konfiguracja SMTP
$mail->isSMTP();
$mail->Host       = 'smtp.twojadomena.pl'; // serwer SMTP hosta
$mail->SMTPAuth   = true;
$mail->Username   = '[email protected]';
$mail->Password   = 'haslo_skrzynki';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port       = 587; // lub 465 dla SSL

// Nadawca i odbiorca
$mail->setFrom('[email protected]', 'Twoja Firma');
$mail->addAddress('[email protected]', 'Jan Kowalski');
$mail->addReplyTo('[email protected]', 'Kontakt');

// Treść
$mail->isHTML(true);
$mail->Subject = 'Temat wiadomości';
$mail->Body    = '<h1>Treść HTML</h1><p>Wiadomość.</p>';
$mail->AltBody = 'Wersja tekstowa wiadomości.';

$mail->send();

Bezpieczeństwo: Nigdy nie umieszczaj hasła SMTP bezpośrednio w kodzie. Używaj zmiennych środowiskowych (pliku .env) lub stałych poza webroot.

Dane SMTP najpopularniejszych polskich hostingów

Hosting Serwer SMTP Port STARTTLS Port SSL
LH.pl smtp.lh.pl 587 465
CyberFolks mail.serwer-cyberfolks.pl 587 465
Zenbox smtp.zenbox.pl 587 465
home.pl smtp.home.pl 587 465
Hostline.pl mail.twojadomena.pl 587 465

Zawsze sprawdź aktualne dane SMTP w dokumentacji swojego hosta — adresy mogą się różnić w zależności od serwera. Login SMTP = adres e-mail skrzynki.

SMTP w WordPress — WP Mail SMTP

WordPress używa domyślnie funkcji wp_mail() opartej na mail() PHP. Aby używać SMTP, zainstaluj wtyczkę WP Mail SMTP (bezpłatna wersja wystarczy dla większości przypadków).

Po zainstalowaniu przejdź do: WP Mail SMTP → Settings → Mailer i wybierz "Other SMTP". Wpisz dane serwera SMTP swojego hosta.

Alternatywnie możesz skonfigurować SMTP przez stałe w wp-config.php (bez wtyczki, używając pluginu constants-based):

// wp-config.php — stałe dla WP Mail SMTP
define( 'WPMS_ON', true );
define( 'WPMS_MAILER', 'smtp' );
define( 'WPMS_SMTP_HOST', 'smtp.twojadomena.pl' );
define( 'WPMS_SMTP_PORT', 587 );
define( 'WPMS_SSL', 'tls' );
define( 'WPMS_SMTP_AUTH', true );
define( 'WPMS_SMTP_USER', '[email protected]' );
define( 'WPMS_SMTP_PASS', 'haslo_skrzynki' );

Zewnętrzne serwisy SMTP — kiedy warto?

Dla aplikacji wysyłających dużo maili (e-commerce, newsletter, powiadomienia) SMTP hosta może być za wolne lub mieć zbyt małe limity. Zewnętrzne serwisy transakcyjne oferują:

Serwis Darmowy limit DKIM/SPF Analityka
Brevo (dawniej Sendinblue) 300 maili/dzień Tak Tak
Mailgun 100 maili/dzień (trial) Tak Tak
Amazon SES 62 000 maili/msc (EC2) Tak Podstawowa
Resend 3 000 maili/msc Tak Tak

Najczęstsze pytania

Dlaczego maile z hostingu trafiają do spamu? +
Główne przyczyny to brak lub błędna konfiguracja SPF, DKIM i DMARC. Jeśli Twoja strona wysyła mail przez funkcję mail() PHP bez SMTP relay, mail wychodzi z serwera hostingu bez podpisania DKIM. Odbiorcy (Gmail, Outlook) sprawdzają rekord SPF — jeśli IP serwera nie jest w nim wymienione, mail trafia do spamu. Rozwiązanie: użyj SMTP z uwierzytelnieniem przez Twoją skrzynkę e-mail z własną domeną.
Jaka jest różnica między mail() PHP a SMTP? +
Funkcja mail() PHP używa lokalnego agenta pocztowego (sendmail/postfix) skonfigurowanego przez hosta — brak uwierzytelniania SMTP, często brak DKIM i trudność z konfiguracją From/Reply-To. SMTP to protokół z uwierzytelnianiem — łączysz się z serwerem poczty (np. smtp.twojadomena.pl, smtp.gmail.com) używając loginu i hasła, co daje pełną kontrolę nad nagłówkami i podpisaniem wiadomości.
Czy mogę używać Gmail SMTP do wysyłki z własnej domeny? +
Tak, ale z ograniczeniami. Gmail SMTP (smtp.gmail.com:587 lub 465) ma limit 500 maili/dzień i może oznaczać wiadomości jako wysłane "przez gmail.com". Dla profesjonalnej wysyłki z własną domeną lepiej użyć SMTP Twojego hosta (zawiera SPF Twojej domeny) lub zewnętrznych serwisów transakcyjnych (Brevo dawniej Sendinblue, Mailgun, Amazon SES) z limitami rzędu tysięcy maili/dzień.

Szybkie przejście do ofert związanych z tym tematem

Wybraliśmy oferty i strony z kodami rabatowymi, które najczęściej pasują do tego scenariusza użycia.