| Termin | Definicja |
|---|---|
| PHPMailer (skrypt PHP | PHPMailer zastępuje wbudowaną funkcję mail(), dodając uwierzytelnianie, szyfrowanie i obsługę załączników. PHPMailer jako biblioteka do wysyłania wiadomościPHPMailer to biblioteka napisana w języku PHP, przeznaczona do tworzenia i wysyłania wiadomości e-mail z aplikacji internetowych. Zastępuje bezpośrednie użycie wbudowanej funkcji Wiadomość tworzona za pomocą PHPMailer może zawierać adres nadawcy, adresy odbiorców, temat, treść tekstową oraz treść HTML. Można również przygotować alternatywną wersję tekstową dla klientów pocztowych, które nie wyświetlają HTML. Biblioteka obsługuje odbiorców głównych, kopie jawne i kopie ukryte, a także odpowiedzi kierowane na inny adres niż adres nadawcy. Takie rozdzielenie danych jest istotne, ponieważ adres używany do uwierzytelnienia na serwerze SMTP nie zawsze może być dowolnie zastąpiony innym adresem w polu nadawcy. Połączenie SMTP, uwierzytelnianie i szyfrowanieNajczęściej PHPMailer korzysta z protokołu SMTP. W konfiguracji trzeba określić nazwę hosta serwera pocztowego, port, sposób szyfrowania oraz dane uwierzytelniające. Biblioteka obsługuje między innymi połączenie szyfrowane przez STARTTLS, w którym połączenie rozpoczyna się bez szyfrowania, a następnie jest przełączane do kanału TLS, oraz połączenie SMTPS wykorzystujące szyfrowanie od początku sesji. Dobór portu i trybu zależy od konfiguracji konkretnego dostawcy poczty; nie należy łączyć przypadkowego portu z niepasującą metodą szyfrowania. PHPMailer może korzystać z uwierzytelniania SMTP, w tym z mechanizmów takich jak LOGIN, PLAIN, CRAM-MD5 oraz XOAUTH2, jeśli wymagany sposób logowania i odpowiednie dane są dostępne w aplikacji. W praktyce dostawca poczty może wymagać hasła aplikacyjnego, tokenu albo dodatkowej konfiguracji konta. Samo włączenie opcji Podczas połączenia TLS certyfikat serwera powinien być weryfikowany względem zaufanego magazynu certyfikatów. Wyłączanie weryfikacji certyfikatu lub wymuszanie akceptacji dowolnego certyfikatu usuwa ważny element ochrony przed przechwyceniem połączenia. Przy diagnozowaniu problemu warto odróżnić błąd negocjacji TLS, odmowę uwierzytelnienia, blokadę portu przez zaporę sieciową oraz odrzucenie wiadomości przez serwer po poprawnym zalogowaniu. Załączniki, format MIME i kontrola błędówPHPMailer buduje wiadomość zgodną ze strukturą MIME, dzięki czemu może łączyć treść tekstową, HTML, obrazy osadzane w treści oraz załączniki. Załącznik może być wskazany jako plik znajdujący się na dysku albo jako dane przekazane bezpośrednio w pamięci. Przy plikach zapisanych lokalnie trzeba sprawdzić, czy proces PHP ma prawo je odczytać i czy ścieżka wskazuje właściwy plik. Błąd ścieżki, brak uprawnień albo niedostępny plik może uniemożliwić przygotowanie wiadomości jeszcze przed połączeniem z serwerem SMTP. Treść HTML powinna mieć także wersję tekstową, a obrazy osadzane w wiadomości wymagają poprawnego identyfikatora treści oraz odwołania z użyciem adresu CID. PHPMailer pozwala ustawić kodowanie znaków, najczęściej UTF-8, co ogranicza ryzyko nieprawidłowego wyświetlania polskich znaków. Należy jednak pamiętać, że biblioteka nie naprawia automatycznie błędnego HTML, nie gwarantuje dostarczenia wiadomości do skrzynki odbiorcy i nie usuwa problemów wynikających z filtrów antyspamowych. Metoda Weryfikacja konfiguracji PHPMailer w aplikacji PHPPrzy problemach z wysyłaniem poczty należy najpierw ustalić, czy aplikacja rzeczywiście używa PHPMailer i transportu SMTP, czy nadal wywołuje funkcję Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, natomiast analiza konfiguracji PHPMailer wymaga również dostępu do kodu aplikacji, środowiska PHP oraz parametrów używanego konta pocztowego. W przypadku komputera użytkownika można sprawdzić działanie klienta pocztowego, połączenie sieciowe, zaporę i certyfikaty systemowe, ale błąd występujący wyłącznie w aplikacji internetowej może znajdować się po stronie hostingu, konfiguracji PHP albo serwera SMTP. Nie należy rozwiązywać problemu przez bezwarunkowe wyłączenie TLS, wpisywanie przypadkowego adresu nadawcy ani wielokrotne ponawianie wysyłki bez kontroli rezultatu. Serwer może przyjąć wiadomość do dalszego przetwarzania, lecz jej dostarczenie może zostać później odrzucone. Rzetelna diagnostyka rozdziela więc błąd aplikacji, błąd połączenia, błąd uwierzytelnienia, odrzucenie podczas transmisji SMTP oraz późniejszy problem z dostarczeniem do skrzynki odbiorcy. |