Для объективной проверки отправки писем с сайта можно использовать тестовый 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);}}
Все категории вопросов