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

Для проверки работоспособности PHP-функции mail() создайте тестовый PHP-файл (например, testmail.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-протоколу (public_html, www, htdocs или другую в зависимости от конфигурации сервера).

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

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

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

Если отправить письмо с помощью такого проверочного файла не удалось, обратитесь к системному администратору с просьбой настроить функцию mail() на вашем сервере.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *