Когда я пытаюсь добавить заголовки в функцию почты, это не сработает. Однако мой код кажется хорошим.Из заголовков почты php
Возможно, мы не можем сделать динамический заголовок «От»?
var message = "";
var nomClient = $("#nom").val();
var mailClient = $("#mail").val();
$.ajax({
method: "POST",
url: "traitement.php",
data: { monMessage: message, mailDuClient: mailClient, nomDuClient: nomClient }
})
/* Si succès */
.done(function() {
// Bug : le champs mail restait visible, donc on le cache
$("#mail").addClass("cacher");
// Affiche le message de succès
$(".succes").animate().css("display", "block");
// On attends 3,5 secondes puis on rafraichi la page
setTimeout(function(){location.reload();}, 3500);
})
/* Si échec */
.fail(function(jqXHR, textStatus, errorThrown) {
alert('Un problème est survenu');
});
И это мой PHP код:
$to = "[email protected]";
$objet = "Nouvelle demande de devis";
$headers = 'From: '. $_POST['nomDuClient'] . ' <' .$_POST['mailDuClient']. '>'. "\r\n";
//'X-Mailer: PHP/' . phpversion(). "\r\n";
$mail = mail($to, $objet, $_POST['monMessage'], $headers);
echo($mail);
Почта правильно послал, но без «С»
Вместо функции почты 'PHP' попробуйте использовать класс' PHPMailer' – Apoorv
Я думаю, что у меня нет времени добавить новый класс. На самом деле почта правильно отправлена, если почтовый адрес в порядке! Например, работает [email protected], но [email protected] не работает ... – Emilien
Если вы помещаете предоставленные пользователем данные ('$ _POST') прямо в свои почтовые заголовки, не дезинфицируя их, вы эффективно создаете mail. Спамеры ** будут искать и использовать. (например: путем установки '$ _POST ['mailDuClient']' на '[email protected]> \ r \ nДля: long [email protected] \ r \ nSubject: Спам \ r \ n \ r \ n') Вместо этого вы должны использовать библиотеку, такую как PHPMailer, которая уже решила эту проблему. –