Envoi d'un mail qui ne fonctionne pas [Fermé]

Signaler
Messages postés
71
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
30 juin 2016
-
Messages postés
71
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
30 juin 2016
-
Bonjour,

J'essaie d'envoyer depuis mon hébergeur (OVH) mais ça ne marche pas.
La page ne s'affiche pas du tout lorsque quand je la mets en ligne alors que sans les données du mail la page est affichée normalement

la partie correspondant au mail :
 $to = 'mon nom <monnom@gmail.com>,nom1<nom1@gmail.com>,nom2<nom2@orange.fr>';
$subject = 'Message sur le site de l'association';                 
$msg = 'Ci-dessous le message d´posé sur le site par $prenom $nom <br />
 Adresse de l'émetteur : $emetteur<br />
 Objet du message : $objet <br />
 Texte du message : $textemessage';
$headers = 'From: Association_Culturelle_Troissy_Bouquigny <contact@associationculturelletroissybouquigny.fr>'."\r\n"; 
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"";

mail($to, $subject, $msg, $headers);


pour info j'envoie un mail avec le même format) à partir d'une autre page et ça marche.

Merci de me dire ce qui ne va pas

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

Messages postés
32469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
3 486
Bonjour,


La page ne s'affiche pas du tout lorsque quand je la mets en ligne

Tu as donc sûrement un souci dans le code php de ta page ....
Peux tu placer en première ligne de ta page php le code suivant :
//Affichage des erreurs PHP
error_reporting(E_ALL);


et voir si ça t'affiche quelque chose quand tu affiches cette page.

Messages postés
32469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
3 486
NB:
Tu as sûrement un PB avec cette ligne :
$subject = 'Message sur le site de l'association';   

Tu utilises des quotes simples pour encapsuler ta string .. et dedans.. tu as une apostrophe ...............
Remplaces par :
$subject = "Message sur le site de l'association";   

ou par :
$subject = 'Message sur le site de l\'association';   
Messages postés
71
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
30 juin 2016
>
Messages postés
32469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021

J'ai un peu avancé. Je reçois bien le message et les apostrophes sont bien là sauf dans le texte du message.
Le message laissé sur le site et envoyé par mail aux membres de l'association

if (isset($_POST['enregistrer'])){
if ((empty($_POST['nom'])) OR (empty($_POST['prenom'])) OR (empty($_POST['mail'])) OR (empty($_POST['objet'])) OR (empty($_POST['textemessage']))){
$message = "Merci de renseigner tous les champs.";
}
else if (empty($message)){
//teste si le même message est déjà dans la table
$textemessage = mysqli_real_escape_string($con,$_POST['textemessage']);
$requete = "SELECT * FROM messages WHERE date = '$my_date' AND emetteur = '$mail' AND texte = '$textemessage'";
$resultat = $mysqli->query($requete) or die ('Erreur '.$requete.' '.$mysqli->error());
if (mysqli_num_rows($resultat) > 0){
$message = "Ce message est déjà enregistré !";
}
else {
$objetmail = $_POST['objet'];
$textemessagemail = $_POST['textemessage'];
$objet = mysqli_real_escape_string($con,$_POST['objet']);
$nom = mysqli_real_escape_string($con,$_POST['nom']);
$prenom = mysqli_real_escape_string($con,$_POST['prenom']);
$emetteur = mysqli_real_escape_string($con,$_POST['mail']);
$textemessage = mysqli_real_escape_string($con,$_POST['textemessage']);
//preparation de la requete
$requete = "INSERT INTO messages (id_message, date, heure, nom, prenom, emetteur, objet, texte)
VALUES('','$my_date','$my_time','$nom','$prenom','$emetteur','$objet','$textemessage')";
if (mysqli_query($con, $requete)) {
$message1 = "Merci pour votre message, nous vous répondrons dans les meilleurs délais";
// ***** MAIL AUX MEMBRES DE L'ASSOCIATION ****
$to = 'nom <nom@gmail.com>,nom1 <nom1@gmail.com>,nom2<nom2@orange.fr>';
$subject = 'Message sur le site de l\'association';
$msg = 'Ci-dessous le message déposé sur le site par '.$prenom.' '.$nom.'.<br />
Adresse de l\'émetteur : '.$emetteur.'. <br />
Objet du message : '.$objetmail.'. <br />
Texte du message : '.$textemessagemail.'.' ;
$headers = 'From: Association_Culturelle_Troissy_Bouquigny <contact@associationculturelletroissybouquigny.fr>'."\r\n";
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"";

mail($to, $subject, $msg, $headers);


} else {
$message = "Message non enregistré. Merci de vérifier votre saisie";
}
mysqli_close($con);
}
}
}


Les apostrophes sont bien échappées mais les "à" sont incorrectes.
Le message qui arrive : Vous pouvez supprimer ces messages qui ne sont que des tests de l'association d'envois de mail à des membres.."

Merci d'avance
Messages postés
71
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
30 juin 2016
>
Messages postés
71
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
30 juin 2016

Donc comme je disais mon soucis est "Ã" reçu pour "à" écrit dans le mail