Envoi de mail en PHP [Résolu/Fermé]

Signaler
Messages postés
6
Date d'inscription
jeudi 31 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012
-
Messages postés
6
Date d'inscription
jeudi 31 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012
-
Bonjour,

Je suis actuellement sur un projet de site d'upload.

J'ai un soucis avec l'envoi de mail sur mes pages, voici le code :

//-------------------------------   Envoi de mail   ---------------------
// On règle le problème des serveurs de mail qui ne suivent pas la norme de passage à la ligne
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $email))
{
	$passage_ligne = "\r\n";
}
else
{
	$passage_ligne = "\n";
}

// Boundary (frontière entre les différentes parties du message)
	$boundary = '-----='.md5(rand());
					
// Sujet du mail
	$sujet='Vos informations de connexion';
					
// En-tête du mail
	$header = 'From: "Service telechargement <thibaut.gautheron@laposte.net>'.$passage_ligne;
	$header.= 'Reply-to: "Service telechargement" <thibaut.gautheron@laposte.net>'.$passage_ligne;
	$header.= 'MIME-Version: 1.0'.$passage_ligne;
	$header.= 'Content-Type: multipart/alternative;'.$passage_ligne.' boundary="'.$boundary.'"'.$passage_ligne;
					
// Message HTML
						
	$message_html='<html><head></head><body>
	<p>Bonjour,
	Voici les informations concernant votre compte, telles qu\'elles sont enregistrées :'.$passage_ligne.'
					
		Identifiant : ' .$username .'
		Mot de passe : ' .$mdp .'</p>
										
         <p>A bientôt sur "Service téléchargement" !</p></body></html>';

// Création du message
	$message = $passage_ligne.$boundary.$passage_ligne;
					
// Message au format HTML
	$message .= 'Content-Type: text/html; charset="ISO-8859-1"'.$passage_ligne;
	$message .= 'Content-Transfer-Encoding: 8bit'.$passage_ligne;
	$message.= $passage_ligne.$message_html.$passage_ligne;
	$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
					
// Envoi du mail
        if(mail($mail,$sujet,$message,$header))
	{
		// Message de confirmation
	}
	else
	{
		// Message d'erreur de l'envoi de mail
	}


Je ne reçois donc pas les mails ce qui n'est pas normal.

A l'aide svp, merci d'avance :)

5 réponses

Messages postés
11
Date d'inscription
lundi 21 mai 2012
Statut
Membre
Dernière intervention
31 mai 2012

bonjour Plantakwatix,
Pourrais tu vérifier
 <?php
  $to="ton email";
  if(mail($to,"test","test"))
    echo "ça marche";
  else
    echo " -;)";
  ?>


si ça marche alors il faut encore vérfier ton code, sinon il faut vérifier la config SMTP (php.ini)
Messages postés
6
Date d'inscription
jeudi 31 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012

Merci de ta réponse lilla85

Ton code me dit que ça marche donc il doit y avoir une erreur dans mon code que j'ai contrôlé 10 fois =/
Messages postés
11
Date d'inscription
lundi 21 mai 2012
Statut
Membre
Dernière intervention
31 mai 2012

pour détecter la source du problème on va procéder :
essaye cela :

<?php
if(mail($mail,$sujet,$message))
{
echo "erreur dans".$header;
}
else
{
echo "erreur au moins dans".$message;
}
?>
Messages postés
6
Date d'inscription
jeudi 31 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012

Eh bien c'est une erreur au moins dans le $message.

erreur au moins dans -----=7e39cee1d2eb257eddb5a4d386c4c35e Content-Type: text/html; charset="ISO-8859-1" Content-Transfer-Encoding: 8bit
Bonjour, Voici les informations concernant votre compte, telles qu'elles sont enregistr?es : Identifiant : Mot de passe :
A bient?t sur "Service t?l?chargement" !

-------=7e39cee1d2eb257eddb5a4d386c4c35e--
Messages postés
6
Date d'inscription
jeudi 31 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012

Problème réglé, le soucis venait de l'envoi de l'email, j'en ai bavé merci quand même ;)