Как проверить работу функции mail() php

Внимание! Не забудьте удалить созданный тестовый php файл сразу же после проверки, иначе этим могут воспользоваться злоумышленники и начать рассылать спам с вашего веб-сайта, что может привести к блокировке заказанных услуг.

Иногда бывают ситуации, когда не совсем очевидно, на сайте отправка писем настроена, но письма не доходят или не отправляются. В этой ситуации самое простое решение - проверить функцию mail() php, а работает ли она? Или же возможно ограничена отправка писем?

Для проверки работоспособности PHP-функции mail() нужно создавать тестовый PHP-файл (например, mailtest77.php) следующего содержания:

<?php
$message = '';
if (isset($_POST['email']) && !empty($_POST['email'])){
  if (mail($_POST['email'], $_POST['subject'], $_POST['body'], '')){
    $message = "Email has been sent to <b>".$_POST['email']."</b>.<br>";
  }else{
    $message = "Failed sending message to <b>".$_POST['email']."</b>.<br>";
  }
}else{
  if (isset($_POST['submit'])){
    $message = "No email address specified!<br>";
  }
}

if (!empty($message)){
  $message .= "<br><br>n";
}
?>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>
      Mail test
    </title>
  </head>
  <body>
    <?php echo $message; ?>
    <form method="post" action="">
      <table>
        <tr>
          <td>
            e-mail
          </td>
          <td>
            <input name="email" value="<?php if (isset($_POST['email'])
            && !empty($_POST['email'])) echo $_POST['email']; ?>">
          </td>
        </tr>
        <tr>
          <td>
            subject
          </td>
          <td>
            <input name="subject">
          </td>
        </tr>
        <tr>
          <td>
            message
          </td>
          <td>
            <textarea name="body"></textarea>
          </td>
        </tr>
        <tr>
          <td>
            &nbsp;
          </td>
          <td>
            <input type="submit" value="send" name="submit">
          </td>
        </tr>
      </table>
    </form>
  </body>
</html>

Загрузите созданный файл в рабочую папку веб-сайта, доступную по HTTP-протоколу (там где располжен index.php index.html).

Запустите файл, набрав его адрес (URL) в адресной строке браузера, например: http://example.com/mailtest77.php

Введите в поля открывшейся страницы адрес электронной почты, тему и текст проверочного сообщения и нажмите на кнопку «send», чтобы отправить сообщение.

В случае успешной отправки на странице появится сообщение вида «Email has been sent to ...». В противном случае появится сообщение вида «Failed sending message to...».

Мы используем файлы cookie. Продолжая использовать сайт, вы соглашаетесь с политикой использования cookie файлов. Принять