Here is my code for a email form. It works very great - sends everything to my adress e-mail. There is one problem and my question. How I can make it I can reply to the e-mail received from the form? I mean, user type his e-mail adres in e-mial box so I would like to simple reply it, so sender should be as author e-mail. For now it's myname@mydomain-where-i-have-my-website.com. It should be take this form 'email'. I'm a BIG php noobie.
HTML code
<h2>Contact form</h2>
<div id="send_form_status"></div>
<form method="post" action="/kontakt.php" id="contact_form">
<div><label for="name">Subject</label></div>
<div><input type="text" name="name" id="name" required> </div>
<div><label for="email">E-mail</label></div>
<div><input type="email" name="email" required></div>
<div><label for="message">Message</label></div>
<div><textarea name="message" id="message" required></textarea></div>
<div><input type="submit" id="submint" name="submint" value="Send"></div>
</form>
PHP code
<?php
header("content-type: application/json; charset=utf-8");
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = "myname@something.pl";
$subject = "Welcome";
if($name && $email && $message){
$headers = "MIME-Version: 1.0\r\nContent-type: text/plain; charset=utf-8\r\nContent-Transfer-Encoding: 8bit";
$message_body = "";
$message_body .= "Subject: " . $name . "\n";
$message_body .= "From: " . $email . "\n";
$message_body .= "Message: \n" . $message . "\n";
if(mail($to,$subject,$message_body,$headers)){
$json=array("status"=>1,"msg"=>"<p class='status_ok'>Message send.</p>");
}
else{
$json=array("status"=>0,"msg"=>"<p class='status_err'>Faild to send.</p>");
}
}
else{
$json=array("status"=>0,"msg"=>"<p class='status_err'>The all fields are required.</p>");
}
echo json_encode($json);
exit;
?>
UPDATED
As I wrote in my comment. To fix I removed the all $message_body:
$message_body = "";
$message_body .= "Subject: " . $name . "\n";
$message_body .= "From: " . $email . "\n";
$message_body .= "Message: \n" . $message . "\n";
Added mail header and form content:
$mailheader = "MIME-Version: 1.0\r\n";
$mailheader = "Content-type: text/plain; charset=utf-8\r\n";
$mailheader = "From: ".$email." \n\r";
$formcontent="Subject: $name \n Message: \n $message \n" ;
And changed this:
if(mail($to,$subject,$message_body,$headers))
To this:
if(mail($to,$subject,$formcontent,$mailheader))
$message_body .= "From: ".$email." \n\r";
. I recive e-mail with text message: Subject: XX, From: e-mail form, Message: XX. But sender e-mail is e-mail from my domain - myname@mydomain-where-i-have-my-website.com .I would to have e-mail adres from form eg. email-type-in-form@something.pl and then just click reply button. Is it possible? – Lucas Jan 28 '17 at 02:57