Error sending form to email by PHP [closed]

0

I do not know the right way to send data from a form to an email, using PHP .

So, here's the situation:

Page contato.php :

<form id="form-contato" action="enviar.php" method="post">
<h2>Fale com nossa Equipe!</h2>
<label for="Nome">Nome:</label><input type="text" name="Nome" id="Nome" maxlength="40"><br><br>
<label for="E-mail">E-mail:</label><input type="email" name="E-mail" id="E-mail" maxlength="60"><br><br>
<label for="Assunto">Assunto:</label>
<select name="Assunto" id="Assunto">
   <option selected disabled style="font-style:italic;">Selecione... </option>
   <option value="Interesse em ser Assinante">Interesse em ser Assinante</option>
   <option value="Reclamação">Reclamação</option>
   <option value="Perguntas">Perguntas</option>
</select><br>
<p>Mensagem:</p>
<div id="textarea">
<textarea id="Mensagem" cols="50" rows="7" name="Mensagem"></textarea>
                           </div>
<input type="submit" value="Enviar">
</form>

Then, the page enviar.php :

<?php
     $nome = $_POST['Nome'];
     $email = $_POST['E-mail'];
     $assunto = $_POST['Assunto'];
     $mensagem = $_POST['Mensagem'];
     $data_envio = date('d/m/Y');
     $hora_envio = date('H:i:s');

    //enviar

    // emails para quem será enviado o formulário
    $emailenviar = "[email protected]";
    $destino = $emailenviar;

    // É necessário indicar que o formato do e-mail é html
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    $headers .= 'From: '.$nome.' <'.$email.'>';
    //$headers .= "Bcc: $EmailPadrao\r\n";
    $arquivo = "";
    $enviaremail = mail($destino, $assunto, $arquivo, $headers);
    if($enviaremail){
        $mgm = "E-MAIL ENVIADO COM SUCESSO! <br> 
                O link será enviado para o e-mail 
                fornecido no formulário";
        echo " <meta http-equiv='refresh' content='10;URL=contato.php'>";
    } else {
        $mgm = "ERRO AO ENVIAR E-MAIL!";
        echo "";
    }
?>

So when I submit the form, nothing happens. It only goes to a page enviar.php and does not give ERROR SENDING EMAIL and also does not give EMAIL SUCCESSFULLY . Quite simply, nothing happens, just a blank page.

I would like to know what are the errors of this code and also another doubt, is that just because I upload to the server of my site, is already working the email service?     

asked by anonymous 09.12.2016 / 22:56

1 answer

0

Your echo ""; is empty, see:

if($enviaremail){
    $mgm = "E-MAIL ENVIADO COM SUCESSO! <br> 
            O link será enviado para o e-mail 
            fornecido no formulário";
    echo " <meta http-equiv='refresh' content='10;URL=contato.php'>";
} else {
    $mgm = "ERRO AO ENVIAR E-MAIL!";
    echo "";
}

Change to this:

if($enviaremail){
    $mgm = "E-MAIL ENVIADO COM SUCESSO! <br> 
            O link será enviado para o e-mail 
            fornecido no formulário";
    echo " <meta http-equiv='refresh' content='10;URL=contato.php'>";
} else {
    $mgm = "ERRO AO ENVIAR E-MAIL!";
}

echo $mgm;
    
09.12.2016 / 23:34