Jak prawidłowo skonfigurować funkcję mail() w PHP?

Funkcja mail() wysyła wiadomości e-mail przez skrypty PHP. Znajduje ona zastosowanie w wielu zadaniach, ale jeśli nie zostanie prawidłowo skonfigurowana, wiadomości mogą nie być wysyłane. Dowiedz się, jak właściwie skonfigurować funkcję mail().

Z powodu zmian w prawie oraz w normach przyjmowanych przez globalnych dostawców poczty elektronicznej (np. Gmail), coraz więcej uwagi przykłada się do uwierzytelniania wiadomości e-mail i zwalczania nadużyć w tym obszarze. Do zmian muszą dostosować się przede wszystkim dostawcy, ale także użytkownicy, którzy powinni zadbać m.in. o prawidłową konfigurację rekordów SPF, DKIM i DMARC czy funkcji mail(), jeśli wysyłają wiadomości za jej pomocą.

Budowa funkcji mail()

Standardowo funkcja mail() składa się z czterech parametrów:

mail($to,$subject,$message,$headers)

Zmienne odpowiadają za:

  • $to – wskazanie adresu e-mail odbiorcy
  • $subject – tytuł wiadomości e-mail
  • $message – treść wiadomości e-mail (może być wpisana również w HTML)
  • $headers – określenie szczegółów wykonywanej operacji (m.in. informacje, z jakiego serwera wysyłany jest e-mail i w jakim formacie jest wiadomość)
Poza tym możliwe jest rozszerzenie funkcji mail() o dodatkowe parametry. To opcjonalne, ale czasem okazuje się niezbędne.

Prawidłowa konfiguracja funkcji mail()

Jeśli pojawił się problem z wysyłką wiadomości e-mail przez skrypt PHP, rekomendujemy rozwinięcie skryptu o dodatkowy parametr: -f.

mail($to,$subject,$message,$headers,"-f email@twojadomena.pl");

Zamiast email@twojadomena.pl wpisz adres e-mail, który ma znaleźć się w polu „From:”.

Zastosowanie tego parametru wymusza wysyłkę przy wykorzystaniu wskazanego w nim adresu. Dzięki temu zyskasz pewność, że w nagłówku wysyłanej wiadomości znajduje się poprawny adres e-mail.

Jawne zadeklarowanie adresu, z którego wysyłany jest e-mail jest bardzo ważne – w przeciwnym razie wiadomości mogą nie być poprawnie wysyłane.

WAŻNE! Adres e-mail podany w parametrze -f musi być obsługiwany przez serwer w home.pl, tzn. musi istnieć pod usługą hostingową oraz być przypisany do domeny, która obsługuje pocztę na serwerze w home.pl (nie może mieć zewnętrznych adresów MX).

Rekomendujemy wdrożenie tego rozwiązania również ze względu na zmiany wobec nadawców, które wprowadza Gmail. Pozwoli to zwiększyć wierzytelność wysyłanych za pośrednictwem skryptu wiadomości, dzięki czemu zmniejszy się szansa, że inni dostawcy poczty elektronicznej odrzucą je z powodu braku odpowiednich zabezpieczeń.

  • Czy artykuł był pomocny ?
  • Tak   Nie

Bezpieczna Poczta e-mail

2 mln użytkowników nie może się mylić. Wybierz niezawodny i bezpieczny e-mail z kalendarzem, organizacją zadań i bez spamu.