CityHost.UA
Помощь и поддержка

Как проверить отправку писем методами PHP и SMTP

Для объективной проверки отправки писем с сайта можно использовать тестовый php-скрипт и почтовый сервис, который не чувствителен к письмам, которые могут быть признаны как спам.

 

1. Перейдите в [файловый менеджер] нужного сайта и создайте в корневой папке файл с названием mail.php

 

2. Откройте созданный файл и разместите внутри следующий php-код  для отправки писем — PHP или SMTP, в зависимости от того какой метод отправки нужно проверить.

 

3. Получите временный почтовый ящик для проверки доставки писем используя любой почтовый сервис, мы рекомендуем temp-mail.org. Открыв сайт сразу сгенерируется временный email, используйте данный email в следующем шаге для поля кому отправить письмо.

 

4. В коде файла отредактируйте поля от кого и кому отправить тестовое письмо согласно инструкции после чего сохраните изменения в файле.

 

5. Обратитесь к файлу через браузер — ваш-сайт.com.ua/mail.php

 

6. На странице сразу отобразится результат выполнения скрипта: зеленый текст будет свидетельствовать об успешной отправке, красный текст о неудаче. В случае успешной отправки вы увидите письмо на странице сервиса временной почты из пункта 3. В случае неудачи проверьте, верно ли заполнены поля в скрипте. 

 

Проверка доставки методом PHP MAIL

 

FROM@EXAMPLE.COM — укажите email, обязательно в домене сайта

TO@EXAMPLE.COM — укажите email, куда следует отправить письмо (временный email из пункта 3)

<?php
$from =     "FROM@EXAMPLE.COM";
$to =       "TO@EXAMPLE.COM";
$subject="PHP лист з сайту ".$_SERVER["SERVER_NAME"];$message="версія php на сайті ".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'>Листа успішно відправлено на ".$to." о ".date("H:i:s")." з сайту ".$_SERVER["SERVER_NAME"];}else{echo"<h1 style='color:red'>Помилка! Листа не відправлено";}

 

Проверка доставки методом SMTP

 

FROM@EXAMPLE.COM — укажите ящик, созданный на хостинге [в разделе почта]

PASSWORD — укажите пароль от созданного почтового ящика

TO@EXAMPLE.COM — укажите email, куда следует отправить письмо (временный email из пункта 3)

<?php
$user =     'FROM@EXAMPLE.COM';
$pass =     'PASSWORD';
$host =     'ssl://MX1.CITYHOST.COM.UA';
$port =     465;
$to =       'TO@EXAMPLE.COM';
$template="Subject: SMTP лист з сайту ".$_SERVER['SERVER_NAME']."\r\n"."To: $to\r\n"."From: $user\r\n"."Content-Type: text/plain; charset=utf-8\r\n"."Content-Transfer-Encoding: 7bit\r\n"."Лист від SMTP користувача $user\r\n.";if(smtp_mail($to,$template,$user,$pass,$host,$port)){echo"<h1 style='color:green'>Листа успішно відправлено на ".$to." о ".date("H:i:s")." з сайту ".$_SERVER["SERVER_NAME"];}else{echo"<h1 style='color:red'>Помилка! Листа не відправлено";}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);}}

Похожие статьи