I do not receive any email when running mail()

Asked

Viewed 17 times

0

I’m trying to take data from a form and email it using the PHP mail() function, but the function is simply not working.

Form:

     <form class="col s12" method="GET">
        <div class="row">

          <div class="input-field col s12 m4">
            <input id="last_name" name="solicitante" type="text" class="validate" />
            <label for="last_name">Solicitante</label>
          </div>

          <div class="input-field col s12 m4">
            <input id="dataSolicitacao" name="dataSolicitacao" type="text" class="validate" value="02/08/2019">
            <label for="last_name">Data solicitação</label>
          </div>

          <div class="input-field col s12 m4">
            <select name="prioridade">
              <option value="" disabled selected>Prioridade</option>
              <option value="Baixa">Baixa</option>
              <option value="Media">Media</option>
              <option value="Alta">Alta</option>
            </select>
          </div>

        </div>

        <div class="row">
          <div class="input-field col s12">
            <textarea id="textarea2" class="materialize-textarea" name="descricao" data-length="120"></textarea>
            <label for="textarea2">Descrição do reparo</label>
          </div>
        </div>

        <input type="submit" name="enviar" class="white-text waves-effect waves-light btn" value="Enviar" style="background-color: #653126; cursor: pointer;" />
      </form>

Taking the data:

if (isset($_GET['enviar'])) {
  $solicitante     = $_GET['solicitante'];
  $dataSolicitacao = $_GET['dataSolicitacao'];
  $prioridade      = $_GET['prioridade'];
  $descricao       = $_GET['descricao'];

  if ($prioridade && $solicitante && $descricao != '') {

    enviarEmail();

    echo "<div class='card green white-text'><div class='card-content'><span><b>Sucesso!</b> Solicitação de reparo enviada.</span></div></div>";

    header("Refresh: 2; index.php");
  } else {
    echo "<div class='card red white-text'><div class='card-content'><span><b>Erro!</b> Preencha todos os campos antes de enviar.</span></div></div>";
    header("Refresh: 2; index.php");
  }
}

Function send email:

 function enviarEmail() {
        $solicitante     = $_GET['solicitante'];
        $dataSolicitacao = $_GET['dataSolicitacao'];
        $prioridade      = $_GET['prioridade'];
        $descricao       = $_GET['descricao'];

        $to = "[email protected]";
        $subject = "$solicitante fez uma solicitação de reparo";
        $message = "
            Solicitante: $solicitante <br />
            Data da solicitação: $dataSolicitacao <br />
            Prioridade: $prioridade <br />
            Descrição do reparo: $descricao <br />
        ";
        $header  = "MIME-Version: 1.0\n";
        $header .= "Content-type: text/html; charset=iso-8859-1\n";
        $header .= "From: $solicitante";

        mail($to, $subject, $message, $header);

        echo "email enviado";
    }
  • The mail() function is simply not working

  • Using local or server ?

  • 1

    use Phpmailer instead of mail();

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.