html - php contact form not returning message
Hy guys im trying input a php contact form to my website, but its giving me this error : "Form submission failed and no error message returned from: forms/contact.ph" and i dont know why...
here is my php:
<?php
if (isset($_POST['submit'])){
$name = $_POST['name'];
$subject = $_POST['subject'];
$mailFrom = $_POST['mail'];
$message = $_POST['message'];
$mailTo = "nunomcfernandes12@gmail.com";
$headers = "From: ".$mailFrom;
$message = $_POST['message'];
$txt = "You have received an email from ".$name.".\n\n".$message;
mail($mailTo, $subject, $txt, $headers);
header("Location: index.php=mailsend");
}
and here is my html:
<form action="forms/contact.php" method="post" role="form" class="php-email-form">
<div class="row">
<div class="form-group col-md-6">
<label for="name">Nome</label>
<input type="text" name="name" class="form-control" id="name" data-rule="minlen:4" data-msg="Insira pelo menos 4 caracteres" />
<div class="validate"></div>
</div>
<div class="form-group col-md-6">
<label for="name">Email</label>
<input type="text" class="form-control" name="mail" id="email" data-rule="email" data-msg="Insira um email valido" />
<div class="validate"></div>
</div>
</div>
<div class="form-group">
<label for="name">Assunto</label>
<input type="text" class="form-control" name="subject" id="subject" data-rule="minlen:4" data-msg="Por favor insira pelo menos 8 caracteres" />
<div class="validate"></div>
</div>
<div class="form-group">
<label for="name">Mensagem</label>
<textarea class="form-control" name="message" rows="10" data-rule="required" data-msg="Por favor escreva-nos algo!"></textarea>
<div class="validate"></div>
</div>
<div class="mb-3">
<div class="loading">A carregar...</div>
<div class="error-message"></div>
<div class="sent-message">A sua mensagem foi enviada, obrigado!</div>
</div>
<div class="text-center"><button type="submit" name="submit">Enviar mensagem</button></div>
</form>
</div>
Answer
Solution:
Change your $headers
to this:
$headers = 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
$headers .= "From: $mailFrom"."\r\n";
Also, check your SPAM/JUNK
This method send as spam almost
Source