Hosting WWW - Najlepsze praktyki dotyczące wysyłania wiadomości e-mail
Wybierz między funkcją PHP mail() a uwierzytelnionym SMTP do wysyłania wiadomości e-mail z Twojego hostingu WWW i skonfiguruj SMTP z kontem e-mail OVHcloud
Wprowadzenie
Twój hosting WWW oferuje dwa sposoby wysyłania wiadomości e-mail z Twojej witryny: natywną funkcję PHP mail(), która korzysta z serwerów poczty wychodzącej Twojego hostingu, oraz uwierzytelnione SMTP za pośrednictwem konta e-mail powiązanego z Twoją domeną. Oba sposoby są prawidłowe. mail() to metoda domyślna: nie wymaga żadnej konfiguracji, podlega limitowi na hosting i można ją monitorować z Panelu klienta OVHcloud. Uwierzytelnione SMTP to alternatywa, gdy musisz kontrolować tożsamość nadawcy: adres From: jest powiązany z uwierzytelnionym kontem, a wiadomość e-mail nosi podpis Twojej domeny. Jego limity obowiązują na konto e-mail i na źródłowy adres IP, wspólny dla całego klastra hostingowego.
Ten przewodnik pomoże Ci wybrać między tymi dwiema metodami i wyjaśnia, jak skonfigurować uwierzytelnione wysyłanie SMTP z hostingu współdzielonego, niezależnie od tego, czy zarządzasz witryną WordPress, innym CMS, czy aplikacją PHP.
Wymagania początkowe
- Usługa Hosting WWW OVHcloud.
- Wyłącznie w przypadku uwierzytelnionego SMTP: adres e-mail powiązany z Twoją nazwą domeny (rozwiązanie MX Plan, E-mail Pro lub Exchange). Jeżeli jeszcze go nie posiadasz, zapoznaj się z przewodnikiem Tworzenie konta e-mail w ramach usługi MX Plan.
Dostęp do Panelu klienta OVHcloud
- Link bezpośredni:
- Ścieżka nawigacji:
Web Cloud>Hosting> Wybierz Twój hosting WWW
W praktyce
1. mail() czy uwierzytelnione SMTP: którą metodę wybrać?
Obie metody wysyłają wiadomości e-mail z Twojej witryny. Różnią się pod względem:
- serwera wysyłającego wiadomość e-mail,
- limitów wysyłki,
- sposobu ich monitorowania.
Niezależnie od wybranej metody:
- Serwery odbiorców (Gmail, Outlook itp.) sprawdzają, czy domena z pola
From:autoryzuje serwer wysyłający. Dbaj o prawidłowe rekordy SPF, DKIM i DMARC w swojej strefie DNS. - Nadużycia lub wysyłka spamu z Twojego hostingu lub z Twojego konta e-mail prowadzą do automatycznej blokady. Jeżeli Twoje wiadomości e-mail nie są już wysyłane, zapoznaj się z przewodnikiem Monitoring i zarządzanie automatycznymi wiadomościami e-mail na Twoim hostingu.
- Całkowity rozmiar wiadomości e-mail nie może przekraczać 10 MB, wraz z nagłówkami i kodowaniem.
Otwarte formularze: wektor nadużyć dla obu metod
Formularz kontaktowy dostępny publicznie, bez żadnego mechanizmu ochrony, jest głównym celem botów. Boty wykorzystują go do wysłania tysięcy wiadomości e-mail w ciągu kilku minut za pośrednictwem Twojego hostingu: współdzielony adres IP zostaje zablokowany, a szkodę ponoszą wszyscy klienci w klastrze.
Skonfiguruj następujące zabezpieczenia dla każdego formularza, który wywołuje wysyłkę wiadomości e-mail:
- Captcha: zintegruj system weryfikacji (Google reCAPTCHA v3, hCaptcha lub proste zadanie arytmetyczne), aby blokować automatyczne przesyłanie formularzy.
- Ograniczanie liczby wysyłek (rate limiting): ogranicz liczbę wysyłek na adres IP po stronie serwera, aby zapobiec nagłym nadużyciom.
- Ścisła walidacja danych wejściowych: oczyszczaj każde pole formularza przed użyciem go w wiadomości e-mail — nigdy nie ufaj danym dostarczonym przez użytkownika.
Brak captchy w otwartym formularzu wysyłkowym jest jedną z najczęstszych przyczyn blokowania hostingu współdzielonego za spam. To zabezpieczenie jest niezbędne niezależnie od zastosowanej metody wysyłki.
2. Konfiguracja uwierzytelnionego SMTP z kontem e-mail OVHcloud
Zasada
Wysyłaj swoje wiadomości e-mail za pośrednictwem połączenia uwierzytelnionego SMTP z serwerem pocztowym OVHcloud, korzystając z konta e-mail powiązanego z Twoją domeną (na przykład contact@mydomain.ovh).
Takie podejście oferuje trzy główne korzyści:
- Gwarantowane uwierzytelnianie: serwer OVHcloud weryfikuje Twoją tożsamość przed przyjęciem wiadomości e-mail.
- SPF i DKIM: wiadomość e-mail jest wysyłana przez serwer autoryzowany dla Twojej domeny i podpisywana DKIM, jeżeli DKIM jest włączony dla Twojej domeny.
- Jedno zidentyfikowane konto: każda wysyłka jest powiązana z jednym kontem e-mail, którego hasło możesz zmienić w dowolnym momencie, aby zatrzymać nadużywający skrypt lub wtyczkę.
Wysyłka za pomocą mail(): domena musi być przypisana do Twojego hostingu
Aby wysyłać wiadomości e-mail z hostingu WWW za pomocą funkcji PHP mail(), domena użyta w polu From: musi być przypisana do Twojego hostingu.
Domena ta nie musi być zarządzana w Twoim koncie OVHcloud: możesz użyć domeny zarejestrowanej u innego rejestratora, o ile jest przypisana do Twojego hostingu WWW: to właśnie przypisanie potwierdza, że masz prawo wysyłać wiadomości e-mail w jej imieniu.
Jeśli Twoja domena nie jest jeszcze przypisana do hostingu, dodaj ją jako multisite w Panelu klienta OVHcloud, a następnie sprawdź powiązaną konfigurację DNS. Zapoznaj się z przewodnikiem Instalacja kilku stron WWW na jednym hostingu.
Wiadomość wysłana dla domeny, która nie jest przypisana do Twojego hostingu, nie może zostać uwierzytelniona: jest traktowana jako wysyłka nieuwierzytelniona, dlatego zostanie odrzucona i zarejestrowana jako błąd.
Dlaczego pole From: musi należeć do Twojej domeny
Pole From: Twojej wiadomości e-mail musi koniecznie zawierać adres należący do Twojej domeny (na przykład contact@mydomain.ovh), a adres ten musi być zgodny z kontem SMTP użytym do uwierzytelniania.
Jeżeli pole From: nie jest zgodne z domeną autoryzowaną w rekordzie SPF lub jeżeli podpis DKIM nie jest zgodny, serwery pocztowe odbiorców (Gmail, Outlook itp.) mogą odrzucić wiadomość e-mail lub zaklasyfikować ją jako spam.
Aby zmaksymalizować dostarczalność, upewnij się, że rekordy SPF, DKIM i DMARC są prawidłowo skonfigurowane w Twojej strefie DNS. Gmail i Yahoo Mail wymagają ich teraz od nadawców masowych. Zapoznaj się z naszymi przewodnikami:
Formularze kontaktowe: stałe pole From: i pole Reply-To: użytkownika
Częsty błąd: wpisanie adresu podanego przez użytkownika w formularzu wprost w polu From:. Na przykład odwiedzający wprowadza uzytkownik@gmail.com, a skrypt używa tego adresu jako nadawcy.
Takie postępowanie jest nieprawidłowe z dwóch powodów:
- Rekord SPF Twojej domeny nie autoryzuje serwerów Gmail (ani żadnego innego zewnętrznego dostawcy) do wysyłania w Twoim imieniu → niepowodzenie weryfikacji SPF.
- Wysyłasz "w imieniu" adresu, który do Ciebie nie należy → wysokie ryzyko zaklasyfikowania jako spam lub odrzucenia.
Prawidłowy schemat dla formularza kontaktowego:
Gdy odpowiadasz, Twój klient poczty używa zamiast tego adresu z pola Reply-To:, nie naruszając uwierzytelniania SPF/DKIM.
Oto jak dostosować przykład PHPMailer do formularza kontaktowego:
Nigdy nie przekazuj danych z formularza bezpośrednio do PHPMailer bez wcześniejszej walidacji. Użyj filter_var() dla adresu e-mail oraz htmlspecialchars() + strip_tags() dla pól tekstowych, aby zapobiec wstrzykiwaniu nagłówków wiadomości e-mail.
Ustawienia SMTP OVHcloud
Użyj następujących ustawień dla swojego konta e-mail MX Plan (dołączonego do Twojego hostingu WWW):
W przypadku rozwiązań E-mail Pro lub Exchange serwer SMTP jest inny. Zapoznaj się z dokumentacją każdego rozwiązania, aby poznać dokładne ustawienia.
Gdzie znaleźć swoje dane uwierzytelniające SMTP
Nazwa użytkownika SMTP to Twój pełny adres e-mail (na przykład contact@mydomain.ovh).
Hasło to hasło ustawione podczas tworzenia adresu lub zmienione w Panelu klienta OVHcloud. Jeżeli je zapomniałeś lub chcesz je zresetować, zapoznaj się z przewodnikiem Zmiana hasła do konta e-mail.
Rozwiązanie MX Plan dołączone do hostingu WWW podlega limitom wysyłki (około 200 wiadomości e-mail na godzinę na konto), niezależnym od limitu funkcji mail() Twojego hostingu. Serwer SMTP OVHcloud przyjmuje również maksymalnie 300 wiadomości e-mail na godzinę na źródłowy adres IP. Na hostingu współdzielonym ten adres IP jest wspólny z innymi witrynami hostowanymi w tym samym klastrze, dlatego limit osiągniesz szybciej niż z własnego komputera. Rozwiązania pocztowe nie są przeznaczone do masowej wysyłki: w przypadku dużych wolumenów — newsletterów lub masowych transakcyjnych wiadomości e-mail — użyj dedykowanej zewnętrznej usługi wysyłki transakcyjnej.
Przykład kodu PHP z PHPMailer
PHPMailer to referencyjna biblioteka PHP do wysyłania wiadomości e-mail za pośrednictwem SMTP. Zainstaluj ją za pomocą Composer:
Oto kompletny przykład uwierzytelnionego wysyłania SMTP:
Nigdy nie przechowuj hasła do konta e-mail jako zwykłego tekstu w wersjonowanym pliku PHP. Użyj pliku konfiguracyjnego wykluczonego z Twojego repozytorium Git (.gitignore).
Przy tej konfiguracji każda wiadomość e-mail wysłana z Twojej witryny jest:
- uwierzytelniona za pomocą serwera OVHcloud,
- autoryzowana przez rekord SPF Twojej domeny i podpisana DKIM, jeżeli jest on włączony,
- wysłana z jednego zidentyfikowanego konta, którego hasło kontrolujesz.
3. WordPress i inne systemy CMS: użyj wtyczki SMTP
3.1 Jak WordPress domyślnie wysyła wiadomości e-mail
Funkcja wp_mail() w WordPress korzysta w tle z funkcji PHP mail(), z adresem From: ustawianym przez WordPress lub przez każdą wtyczkę. Wysyłki te są zatem wliczane do limitu Twojego hostingu i możesz je monitorować z Panelu klienta OVHcloud.
Aby uzyskać stałego, uwierzytelnionego nadawcę dla wszystkich wiadomości e-mail z Twojej witryny, zainstaluj wtyczkę SMTP, która zastępuje wp_mail() uwierzytelnionym połączeniem SMTP z Twoim serwerem pocztowym OVHcloud.
3.2 Konfiguracja WP Mail SMTP
WP Mail SMTP to najczęściej używana wtyczka do tej konfiguracji.
Instalacja:
- W panelu administracyjnym WordPress przejdź do Wtyczki > Dodaj nową wtyczkę.
- Wyszukaj
WP Mail SMTPi kliknij Zainstaluj teraz, a następnie Włącz.
Konfiguracja:
- Przejdź do WP Mail SMTP > Ustawienia w menu administracyjnym.
- W sekcji From wypełnij następujące pola:
- W sekcji Mailer wybierz Other SMTP.
- Wypełnij ustawienia SMTP:
- Kliknij Save Settings.
- W zakładce Tools użyj opcji Email Test, aby sprawdzić konfigurację.
Włącz opcję Force From Email, aby wszystkie wychodzące wiadomości e-mail używały skonfigurowanego adresu, nawet jeżeli zewnętrzna wtyczka próbuje użyć innego.
3.3 Alternatywa: FluentSMTP
FluentSMTP to lekka, bezpłatna alternatywa. Limit wysyłki Twojego konta e-mail obowiązuje w taki sam sposób.
Instalacja:
- W panelu administracyjnym WordPress przejdź do Wtyczki > Dodaj nową wtyczkę.
- Wyszukaj
FluentSMTPi kliknij Zainstaluj teraz, a następnie Włącz.
Konfiguracja:
- Przejdź do FluentSMTP > Settings.
- Kliknij Add Connection i wybierz Other SMTP.
- Wypełnij te same ustawienia co dla WP Mail SMTP:
- Kliknij Save Connection, a następnie wyślij testową wiadomość e-mail.
3.4 Inne systemy CMS (Drupal, Joomla, PrestaShop)
Zasada jest taka sama dla każdego CMS lub frameworka: zastąp natywną funkcję wysyłki modułem lub konfiguracją uwierzytelnionego SMTP.
We wszystkich przypadkach ustawienia SMTP są takie same: serwer smtp.mail.ovh.net, port 465 (SSL/TLS) lub 587 (STARTTLS), z uwierzytelnianiem przy użyciu pełnego adresu e-mail i jego hasła.
Sprawdź również
Monitoring i zarządzanie automatycznymi wiadomościami e-mail na Twoim hostingu
Informacje techniczne związane z hostingiem WWW
Poprawa bezpieczeństwa e-maili poprzez rekord SPF
Poprawa bezpieczeństwa e-maili dzięki rejestracji DKIM
Poprawa bezpieczeństwa e-maili dzięki rejestracji DMARC
W celu uzyskania specjalistycznych usług (pozycjonowanie, rozwój itp.) skontaktuj się z partnerami OVHcloud.
Jeżeli chcesz skorzystać z pomocy w zakresie użytkowania i konfiguracji rozwiązań OVHcloud, zapoznaj się z naszymi ofertami wsparcia.
Dołącz do grona naszych użytkowników.