CityHost.UA
Pomoc i wsparcie

Jak sprawdzić wysyłanie wiadomości za pomocą metod PHP i SMTP

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.

 

Sprawdzanie dostarczalności metodą PHP MAIL

 

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";}

 

Sprawdzanie dostarczalności metodą SMTP

 

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);}}

Podobne artykuły