creating a simple contact form using ajax and php. after submit , i receive the message sent success message, but the mail is not received.
is there any mistake in this code? help me out. thanks.
html form
<form method="post" class="myform" method="post" action='email.php'>
<div class="input-field col-md-4">
<input id="name" name="name" type="text" class="validate" required>
<label for="first_name">First Name</label>
</div>
<div class="input-field col-md-4">
<input id="email" type="email" name="email" class="validate" required>
<label for="mail">E-Mail</label>
</div>
<div class="input-field col-md-4">
<input id="subject" type="text" name="subject" class="validate" required>
<label for="subject">Subject</label>
</div>
</div>
<div>
<div class="input-field col-md-12">
<textarea id="message" class="materialize-textarea" name="message" required></textarea>
<label for="message">Message</label>
</div>
</div>
<input type="submit" name="send" value="Send"> <span class="output_message"></span>
</form>
Ajax Code
<code>
<script>
$(document).ready(function() {
$('.myform').on('submit',function(){
// Add text 'loading...' right after clicking on the submit button.
$('.output_message').text('Sending...');
var form = $(this);
$.ajax({
url: form.attr('action'),
method: form.attr('method'),
data: form.serialize(),
success: function(result){
if (result == 'success'){
$('.output_message').text('Message Sent Successfully!');
} else {
$('.output_message').text('Error Sending email!');
}
}
});
// Prevents default submission of the form after clicking on the submit button.
return false;
});
});
</script>
</code>
Php mail
<code>
<?php
if (isset($_REQUEST['name'],$_REQUEST['email'])) {
$name = $_REQUEST['name'];
$email = $_REQUEST['email'];
$message = $_REQUEST['message'];
// Set your email address where you want to receive emails.
$to = 'to mail address';
$subject = 'Contact Request From Website';
$headers = "From: ".$name." <".$email."> \r\n";
$send_email = mail($to,$subject,$message,$headers);
echo ($send_email) ? 'success' : 'error';
}
?>
</code>