У меня проблема с использованием mail ().Если быть более точным, когда включен код AJAX - электронное письмо отправляется, но без сообщения (тема и т. Д. Обычно там).
Но когда я удаляю код AJAX, электронное письмо отправляется без проблем.Я не очень разбираюсь в AJAX, я скопировал код js.
Кроме того, кто-нибудь может объяснить, почему в конце js есть «return false»?
HTML
<form name="contactform" method="post" action="mail.php" class="o4">
<table width="450px">
<tr>
<td align="right">
<label for="name" class="pr-3 font-weight-bold tdsm">Name</label>
</td>
<td style="font-size:0;">
<div class="kii nopm">
<img src="style/contact.svg">
</div>
<input type="text" name="name" id="name" maxlength="50" size="30" placeholder="Name" class="imp1">
</td>
</tr>
<tr>
<td align="right" class="pr-3 font-weight-bold">
<label for="email" class="tdsm">Email</label>
</td>
<td style="font-size:0;">
<div class="kii nopm">
<img src="style/email1.svg">
</div>
<input type="text" name="email" id="email" maxlength="50" size="30" placeholder="Email" class="imp1">
</td>
</tr>
<tr>
<td valign="top" align="right" class="pr-3 pt-2 font-weight-bold kni">
<label for="msg" class="tdsm">Message</label>
</td>
<td valign="top">
<textarea name="msg_text" id="msg" maxlength="1000" cols="25" rows="6" placeholder="Message" class="imp2"></textarea>
</td>
</tr>
<tr>
<td></td>
<td style="text-align:left;">
<input type="submit" name="submit" value="Send" class="submit_contact">
</td>
</tr>
<tr>
<td></td>
<td style="text-align:left;">
<p class="success pt-3">Success!<p>
</td>
</tr>
</table>
JQuery
$(".submit_contact").click(function() {
var data = {
name: $("#name").val(),
email: $("#email").val(),
message: $("#msg").val()
};
$.ajax({
type: "POST",
url: "mail.php",
data: data,
success: function(){
$('.success').css("visibility","visible");
}
});
return false;
});
mail.php
<?php
if($_POST){
$to = "contact@mail.com";
$from = $_POST['email'];
$name = $_POST['name'];
$msg = $_POST['msg_text'];
$subject = "Message from" . $from;
$subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
$headers = "Reply-to: contact@mail.com <contact@mail.com>\r\n";
$headers .= "From: contact@mail.com <contact@mail.com>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$message = $name . " " ."wrote:" . "\n\n" . $msg;
mail($to,$subject,$message,$headers);
}
?>