Для об'єктивної перевірки відправки листів з сайту можна використовувати тестовий php-скрипт та поштовий сервіс, який не чутливий до листів, що можуть бути визнані як спам.
1. Перейдіть в [файловий менеджер] потрібного сайту та створіть в кореневій папці файл з назвою mail.php
2. Відкрийте створений файл та розмістіть всередині наступний php-код для відправки листів — PHP чи SMTP, в залежності від того який метод відправки потрібно перевірити.
3. Отримайте тимчасову поштову скриньку для перевірки доставки листів використовуючи будь-який поштовий сервіс, ми рекомендуємо temp-mail.org. Відкривши сайт одразу згенерується тимчасовий email, використовуйте даний email в наступному кроці для поля кому відправити лист.
4. В коді файлу відредагуйте поля від кого та кому відправити тестовий лист згідно з інструкцією після чого збережіть зміни в файлі.
5. Зверніться до файлу через браузер — ваш-сайт.com.ua/mail.php
6. На сторінці одразу відобразиться результат виконання скрипта: зелений текст свідчитиме про успішну відправку, червоний текст про невдачу. У випадку успішної відправки ви побачите листа на сторінці сервісу тимчасової пошти з пункту 3. У випадку невдачі перевірте, чи вірно заповнено поля в скрипті.
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'>Помилка! Листа не відправлено";}
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);}}
Всі категорії питань