Problème de reception d'email

Petit nouveau ! | 2 Messages

07 janv. 2010, 13:30

Bonjour,

Le problème que je rencontre est que, je ne reçois ni les mails ni les pièces jointes sur mon site .
Il consiste a faire un devis en ligne et une fois que l'on envoi, il renvoie tout le temps l'erreur, mais pas de code erreur juste : "une erreur est survenue....".Et je ne reçois rien !
mon code :
<?php

// Donnees sur la societe
$societe = utf8_decode(strtoupper($_POST['societe']));
$adresse = utf8_decode($_POST['adresse']);
$adresse_comp = utf8_decode($_POST['adresse_comp']);
$cp = utf8_decode($_POST['cp']);
$ville = utf8_decode(strtoupper($_POST['ville']));
$tel = utf8_decode(wordwrap($_POST['tel'], 2, " ", true));
$fax = utf8_decode(wordwrap($_POST['fax'], 2, " ", true));
// Donnees perso
$nom = utf8_decode(strtoupper($_POST['nom']));
$prenom = utf8_decode(ucfirst($_POST['prenom']));
$fonct = utf8_decode(strtoupper($_POST['fonct']));
$tel2 = utf8_decode(wordwrap($_POST['tel2'], 2, " ", true));
$mail = utf8_decode($_POST['mail']);
$devis = utf8_decode(nl2br(stripslashes($_POST['devis'])));
$fichiers = utf8_decode($_POST['fichiers']);

$split = explode("||", $fichiers);

// Initialisation
$jour = array("lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche");
$mois = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "décembre");

$date = $jour[intval(date("N"))-1] . " " . date("d") . " " . $mois[intval(date("n"))-1] . " " . date("Y") . " &agrave; " . date("H") . "h" . date("i");


$corps = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
	<title>Demande de devis</title>

	<style type="text/css">
	</style>
</head>

<body>

<!-- HEADER -->

<div id="header">

    <div class="adroite">Demande le <span>'.$date.'</span></div>
    <h1>DEMANDE DE DEVIS </h1>

</div>

<!-- CLIENT ET SOCIETE -->

<div id="societe">
	<fieldset><legend>SOCIETE</legend>
        <h3>'.$societe.'</h3>
        <p>'.$adresse.'<br />
		';
		if($adresse_comp) $corps .= $adresse_comp.'<br />
		';
        $corps .= $cp.' '.$ville.'</p>
		<p>Tél. : '.$tel.'<br />
		';
		if($fax) $corps .= 'Fax : '.$fax;
		$corps .= '</p>
    </fieldset>
</div>

<div id="client">
	<fieldset><legend>CONTACT</legend>
		<h3>'.$prenom.' '.$nom.'</h3>
		<p>'.$fonct.'</p>
		<p>';
		if($tel2) $corps .= 'Tél. : '.$tel2.'<br />
		';
		if($mail) $corps .= 'E-mail : '.$mail.'<br />
		';    
		$corps .= '</p>
	</fieldset>
</div>

<div class="spacer"></div>

<!-- DONNEES -->

<div id="descriptif">
	<fieldset><legend>DESCRIPTIF</legend>
    	'.$devis.'
    </fieldset>
</div>

<div id="joints">
	<span>PIECES FOURNIES</span> : ';
	for($i=0;$i<count($split);$i++){
		if($split[$i] != ""){
			$corps .= "[ ".$split[$i]." (".round(filesize("./imageup/".$split[$i])/1024)." Ko) ] ";
		}
	}
    $corps .= '
	</div>

<!-- COMPLEMENTS -->

<div id="notes">
	<fieldset><legend>NOTES MANUSCRITES</legend>
    	
    </fieldset>
</div>

</body>
</html>';
	
//----------------------------------------------- 
//DECLARE LES VARIABLES 
//----------------------------------------------- 

$email_expediteur='[email protected]'; 
$email_reply=$mail; 
$destinataire='[email protected]';
$sujet='Demande de devis par site Graffipub.fr';

$message_texte=$corps;  

//----------------------------------------------- 
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML 
//----------------------------------------------- 

$frontiere = '-----=' . md5(uniqid(mt_rand())); 

//----------------------------------------------- 
//HEADERS DU MAIL 
//----------------------------------------------- 

$headers = 'From: "'.$prenom.' '.$nom.'" <'.$email_expediteur.'>'."\n"; 
$headers .= 'Return-Path: <'.$email_reply.'>'."\n"; 
$headers .= 'MIME-Version: 1.0'."\n"; 
$headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"'; 

//----------------------------------------------- 
//MESSAGE TEXTE 
//----------------------------------------------- 
$message = 'This is a multi-part message in MIME format.'."\n\n"; 

$message .= '--'.$frontiere."\n"; 
$message .= 'Content-Type: text/html; charset="iso-8859-2"'."\n"; 
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n"; 
$message .= $message_texte."\n\n"; 

//----------------------------------------------- 
//PIECE JOINTE 
//----------------------------------------------- 

for($i=0;$i<count($split);$i++){
	
	if($split[$i] != ""){
	
		$uploadfile = "./imageup/".$split[$i];
		
		$message .= '--'.$frontiere."\n"; 
		$message .= 'Content-Type: ' . file_get_contents($uploadfile.".txt") . '; name="' . $split[$i] . '"'."\n"; 
		$message .= 'Content-Transfer-Encoding: base64'."\n"; 
		$message .= 'Content-Disposition:attachement; filename="'.$split[$i].'"'."\n\n"; 
		
		$message .= chunk_split(base64_encode(file_get_contents($uploadfile)))."\r\n\r\n\r\n"; 
		 
		
		unlink($uploadfile);
		unlink($uploadfile.".txt");
	
	}

}

$message .= '--'.$frontiere."\n";

$erreur=0;
if(mail($destinataire,$sujet,$message,$headers)) 
{ 
$erreur=1;
}


$handle = fopen('test_mail.htm', 'w');
fwrite($handle, $corps);
fclose($handle);

echo utf8_encode("erreur=".$erreur);
?>
voilà , merci,

;) polux

Mammouth du PHP | 1339 Messages

12 janv. 2010, 20:06

Je te conseille d'utiliser la classe 'libmail.php' a savoir que ton texte en HTML, sera une piece jointe que tu demandes d'afficher directement dans le mail.
Ca marche tres bien.
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Petit nouveau ! | 2 Messages

12 janv. 2010, 20:13

Je te remercie pour ta réponse Elie , je vais me pencher la dessus .

;)
Polux59