Problème pour envoi de mail avec la fonction mail

Fermé
tucs - 10 avril 2020 à 14:09
 tucs - 10 avril 2020 à 16:39
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 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
10 avril 2020 à 15:32
bonjour, cela a bien fonctionné et maintenant cela ne fonctionne plus?
quel est le symptôme?
0
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
10 avril 2020 à 16:30
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
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