Problème pour envoi de mail avec la fonction mail

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?
<?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
A voir également:

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, cela a bien fonctionné et maintenant cela ne fonctionne plus?
quel est le symptôme?
0
tucs
 
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?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Regarde les logs d'erreur Apache pour voir si il n'y aurait pas des infos.
Tu peux aussi ajouter cette ligne
print_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.
0
tucs
 
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
0