Problème pour envoi de mail avec la fonction mail
tucs
-
tucs -
tucs -
Bonjour,
J'ai fait ce code php afin de m'envoyer un mail via un formulaire...
Une connexion a déjà été faite et donc je récupère des infos dans la bdd.
Malheureusement je viens de voir que cela ne fonctionne plus et je ne vois pas vraiment pourquoi... Quelqu'un pourrait regarder mon code et me dire s'il a une idée?
J'ai fait ce code php afin de m'envoyer un mail via un formulaire...
Une connexion a déjà été faite et donc je récupère des infos dans la bdd.
Malheureusement je viens de voir que cela ne fonctionne plus et je ne vois pas vraiment pourquoi... Quelqu'un pourrait regarder mon code et me dire s'il a une idée?
<?php //TRAITEMENT DU MESSAGE A ENVOYER
//PHASE 1: IDENTIFICATION DE LA PERSONNE:
$identification = ($_SESSION['user']['id']);
$query = 'SELECT * FROM utilisateurs WHERE id="'.$identification.'"';
$auteur = $dbh->query($query)->fetch();
//PHASE 2: PREPARATION DU MAIL:
$destinataire = 'contact@mon domaine.com';
$expediteur = $auteur['mail'];
$nom = $auteur['nom'];
$objet = $_POST['subject'];
$headers = 'MIME-Version: 1.0' . "\n"; // Version MIME
$headers .= 'Content-type: text/html; charset=UTF-8'."\n"; // l'en-tete Content-type pour le format HTML
$headers .= 'To: '.$destinataire."\n"; // Mail de reponse
$headers .= 'From: "<'.$expediteur.'>'."\n"; // Expediteur
$messageA = '<div style="width: 100%; text-align: center; font-weight: bold"> Vous avez recu une message de monsieur/madame: <u>'.$nom.'</u>!<br>
Voici son message: <u>'.$_POST['message'].'</u></div>';
$message = nl2br($messageA);
if(!empty($objet) && !empty($_POST['message'])){
if(mail($destinataire, $objet, $message, $headers)){
echo '<script languag="javascript" >if ( confirm( "Le mail a bien été envoyé. Une réponse vous sera envoyée par mail au plus vite." ) ) {
document.location.href="accueil.php"
} else {
document.location.href="contactadm_connecte.php"
};</script>';
} else {// Non envoyé
echo '<script languag="javascript">alert("Le mail n\'a pu vous être envoyé. Veuillez réessayer!");</script>';
}
}
?>
Configuration: Windows / Firefox 74.0
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, cela a bien fonctionné et maintenant cela ne fonctionne plus?
quel est le symptôme?-
Oui il fonctionnait... J'ai une dizaine de page qui utilise ce bout de code ou avec des adaptations et plus aucun fonctionne.
Le mail ne s'envoi pas et il m'affiche le echo "Le mail n'a pu être envoyé..."
J'utilise un équivalent pour la validation de compte sur un site et cela ne fonctionne plus. Les nouvelles personnes ne savent donc pas s'inscrire.
Tu as une idée?
-
-
Bonjour,
Regarde les logs d'erreur Apache pour voir si il n'y aurait pas des infos.
Tu peux aussi ajouter cette ligneprint_r(error_get_last());
dans ton else pour essayer de voir une éventuelle erreur retournée par la fonction mail.
Mais bon.. si avant ça marchait... et que tu n'as rien changé dans le code... cela peut venir du serveur lui même. A voir avec ton hébergeur.
-
Bien merci à toi je vais contacter mon hébergeur pour voir.
J'ai des fichiers logs d'erreur sur mon serveur mais je n'y comprends pas bcp...
Merci à toi