Aby obiektywnie sprawdzić wysyłanie wiadomości z witryny, można użyć testowego skryptu PHP i serwisu pocztowego, który nie jest wrażliwy na wiadomości, które mogą być uznane za spam.
1. Przejdź do [menedżera plików] odpowiedniej witryny i utwórz w katalogu głównym plik o nazwie mail.php
2. Otwórz utworzony plik i umieść wewnątrz następujący kod PHP do wysyłania wiadomości — PHP lub SMTP, w zależności od tego, którą metodę wysyłki chcesz sprawdzić.
3. Uzyskaj tymczasową skrzynkę pocztową do sprawdzenia dostarczalności wiadomości, korzystając z dowolnego serwisu pocztowego, polecamy temp-mail.org. Po otwarciu strony natychmiast zostanie wygenerowany tymczasowy email, użyj tego emaila w następnym kroku w polu do wysyłania wiadomości.
4. W kodzie pliku edytuj pola od kogo i do kogo wysłać testową wiadomość zgodnie z instrukcją, a następnie zapisz zmiany w pliku.
5. Odwołaj się do pliku przez przeglądarkę — twoja-strona.com.ua/mail.php
6. Na stronie natychmiast wyświetli się wynik wykonania skryptu: zielony tekst będzie świadczyć o pomyślnym wysłaniu, czerwony tekst o niepowodzeniu. W przypadku pomyślnego wysłania zobaczysz wiadomość na stronie serwisu tymczasowej poczty z punktu 3. W przypadku niepowodzenia sprawdź, czy pola w skrypcie są poprawnie wypełnione.
FROM@EXAMPLE.COM — podaj email, koniecznie w domenie witryny
TO@EXAMPLE.COM — podaj email, na który należy wysłać wiadomość (tymczasowy email z punktu 3)
<?php
$from = "FROM@EXAMPLE.COM";
$to = "TO@EXAMPLE.COM";
$subject="PHP wiadomość z witryny ".$_SERVER["SERVER_NAME"];$message="wersja php na witrynie ".phpversion();$headers="From: ".$from."\r\n";$headers.="Content-Type: text/plain; charset=utf-8\r\n";if(mail($to,$subject,$message,$headers)){echo"<h1 style='color:green'>Wiadomość pomyślnie wysłana na ".$to." o ".date("H:i:s")." z witryny ".$_SERVER["SERVER_NAME"];}else{echo"<h1 style='color:red'>Błąd! Wiadomość nie została wysłana";}
FROM@EXAMPLE.COM — podaj skrzynkę, utworzoną na hostingu [w sekcji poczta]
PASSWORD — podaj hasło do utworzonej skrzynki pocztowej
TO@EXAMPLE.COM — podaj email, na który należy wysłać wiadomość (tymczasowy email z punktu 3)
<?php
$user = 'FROM@EXAMPLE.COM';
$pass = 'PASSWORD';
$host = 'ssl://MX1.CITYHOST.COM.UA';
$port = 465;
$to = 'TO@EXAMPLE.COM';
$template="Temat: SMTP wiadomość z witryny ".$_SERVER['SERVER_NAME']."\r\n"."Do: $to\r\n"."Od: $user\r\n"."Content-Type: text/plain; charset=utf-8\r\n"."Content-Transfer-Encoding: 7bit\r\n"."Wiadomość od użytkownika SMTP $user\r\n.";if(smtp_mail($to,$template,$user,$pass,$host,$port)){echo"<h1 style='color:green'>Wiadomość pomyślnie wysłana na ".$to." o ".date("H:i:s")." z witryny ".$_SERVER["SERVER_NAME"];}else{echo"<h1 style='color:red'>Błąd! Wiadomość nie została wysłana";}function smtp_mail($to,$template,$user,$pass,$host,$port){if($h=fsockopen($host,$port)){$data=array(0,"EHLO $host",'AUTH LOGIN',base64_encode($user),base64_encode($pass),"MAIL FROM: <$user>","RCPT TO: <$to>",'DATA',$template);foreach($data as $c){$c&&fwrite($h,"$c\r\n");while(substr(fgets($h,256),3,1)!=' '){}}fwrite($h,"QUIT\r\n");return fclose($h);}}
Wszystkie kategorie pytań
Ogólne pytania dotyczące serwerów