Page 1 sur 1

Problème d'entête avec la fonction mail()

Posté : 28 janv. 2008, 15:43
par VaN
Bonjour,

je n'avais jamais rencontré ce problème avant.
J'utilise la fonction mail(), mais il y'a un problème, le mail() ne s'envoie pas.

Voici ma fonction :
function sendMail($to, $sujet, $message) {
	require 'vars.php';
	
	$entete = 'MIME-Version: 1.0'."\r\n";
	$entete .= 'Content-type: text/html; charset="UTF-8"'."\r\n";
	$entete .= 'From: no-reply@'.$site_domain."\r\n";
	
	echo $entete;
	
	// ajout du footer au mail
	$message .= "Cordialement,<br />\n";					
	$message .= "L'&eacute;quipe ".$site_name;
	
	//echo $message;
	
	//mail($to, $sujet, $message);
	
	if(!mail($to, $sujet, $message, $entete)) {
		echo '<div class="error_msg">Erreur lors de l\'envoi de l\'e-mail. 
		<a href="mailto:'.$admin_mail.'" class="normal-brown-underline">Contactez l\'administrateur</a>.</div>';
	}
	else
		echo '<span id="yes-msg">L\'e-mail vient d\'&ecirc;tre envoy&eacute;.</span>';
	
}
J'ai réussi à localiser précisement le problème, il vient de cette ligne :
$entete .= 'From: no-reply@'.$site_domain."\r\n";
Lorsque je la supprime, le mail est envoyé. Lorsque je la remet, le mail ne passe pas. Quelqu'un saurait'il pourquoi ?

je précise que la variable $site_domain est connue de la fonction. Un
echo $entete;
m'affiche un mail correct, dans la partie From du header.

Posté : 28 janv. 2008, 16:03
par h0_noMan
Testes comme ceci :
$entete .= 'From: <no-reply@'.$site_domain.">\r\n"; 

Posté : 28 janv. 2008, 16:12
par VaN
Ne fonctionne pas mieux. Le From ne passe pas, un
echo $entete;
m'afiche
MIME-Version: 1.0 Content-type: text/html; charset="UTF-8" From:
Erreur lors de l'envoi de l'e-mail. Contactez l'administrateur.

Posté : 28 janv. 2008, 16:21
par h0_noMan
C'est normal.

Regardes dans le code source de la page pour voir le texte entre < > ou modifie ton echo comme ceci :
echo nl2br(htmlentities($entete)); 

Posté : 28 janv. 2008, 16:28
par VaN
la source affichait bien le mail entre < >.

un nl2br(htmlentities($entete)); affiche donc :
MIME-Version: 1.0
Content-type: text/html; charset="UTF-8"
From: <[email protected]>
Erreur lors de l'envoi de l'e-mail. Contactez l'administrateur.
Mais le mail ne passe toujours pas.

Posté : 28 janv. 2008, 16:31
par h0_noMan
Enleves le dernier \r\n de ton entete

Posté : 28 janv. 2008, 16:42
par VaN
Toujours pas de mail envoyé, et donc toujours le message d'echec. je n'y comprend vraiment rien.

Posté : 30 janv. 2008, 16:04
par VaN
up de ce topic, car je n'ai toujours pas reussi à résoudre ce probleme. Peut etre que quelqu'un verra d'où il vient.

Posté : 30 janv. 2008, 17:23
par h0_noMan
Content-type avec un T majuscule.

Content-Type

Posté : 30 janv. 2008, 17:37
par VaN
non, toujours pas : /