Bonjour,
Après avoir lu et relu les différents post sur ce sujet j'ai écrit le script qui suit. Celui-ci fonctionne, je reçois bien un mail mais pas de message dans le corps du message et les pièces jointes sont illisibles...

L'idée est d'envoyé un message en txt ou html + une pièce jointe en txt.

si quelqu'un peut jeter un oeil..

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
	//----------------------------------------------------------------------------------------
	//	Envoi d'un mail de résultat d'intégration dans la base
	//----------------------------------------------------------------------------------------
	//DECLARE LES VARIABLES
	//----------------------------------------------------------------------------------------
	$destinataire='logs@xxxxxxxx';
	$email_expediteur='logs@xxxxxxxxxx'; 
	$email_reply='logs@xxxxxxxxxx'; 
	//----------------------------------------------- 
	//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML 
	//----------------------------------------------- 
	$frontiere = "-----=".md5(rand());
	//
	//	Corps du message
	//
	$message_corps='Bonjour,'."\r\n";
	$message_corps.='Voici le compte-rendu du chargement'."\r\n";
	$message_corps.=$aecdate."-Nombre de Fichier(s) traité(s) = ".$j."\r\n";
	$message_corps.=$aecdate."-Nombre d\'erreurs  !-".$aecerr."\r\n";
	$message_corps.=$aecdate."-Nombre de Select  !-".$aecselok."\r\n"; 
	$message_corps.=$aecdate."-Nombre de Insert  !-".$aecinsok."\r\n"; 
	$message_corps.=$aecdate."-Nombre de Update  !-".$aecupdok."\r\n"; 
	$message_corps.='--'.$frontiere."\r\n";
 
	//------------------------------------------------
	// Conteni du Message au Format TEXTE
	//------------------------------------------------
	$message_txt="\r\n";
	$message_txt.='--'.$frontiere."\r\n";
	$message_txt.='Content-type: text/plain; charset="ISO-8859-1'."\r\n";
	$message_txt.='Content-Transfer-Encoding: 8bit'."\r\n";
	$message_txt.='Compte Rendu de chargement des Paniers dans la boutique AEC'."\r\n";
	$message_txt.='Voici le résultat: '."\r\n"; 
	$message_txt.=$message_corps."\r\n";		
	//------------------------------------------------
	// Conteni du Message au Format HTML
	//------------------------------------------------
	$message_html="\r\n";
	$message_html.='--'.$frontiere."\r\n";
	$message_html.='Content-type: text/html; charset="ISO-8859-1'."\r\n";
	$message_html.='Content-Transfer-Encoding: 8bit'."\r\n";
	$message_html.='<html><head><title>Compte Rendu de chargement des Paniers dans la boutique AEC</title></head> 
	<body>Voici le résultat: </body>'; 
	$message_html.=$message_corps.'</html>';	
 
	//------------------------------------------------
	//	Définition du Sujet
	//------------------------------------------------
	$sujet='aec_boutique - Compte rendu de chargement des Paniers';
	//----------------------------------------------- 
	//HEADERS DU MAIL 
	//----------------------------------------------- 
	$headers= 'From: "loadpaniers-AEC Boutique" <'.$email_expediteur.'>'."\r\n"; 
	$headers.= 'Reply-To: <'.$email_reply.'>'."\r\n"; 
	$headers.= 'MIME-Version: 1.0'."\r\n"; 
	$headers.= 'Content-Type: multipart/alternative; ';
	$headers.= 'boundary='.$frontiere."\r\n";
	$headers.= 'Content-transfer-encoding: 8BIT'."\r\n";
	$headers.= 'X-attachments: '.$aecfichierlog."\r\n"; 
	//
	//=====Création du message.
	//
	$message='';
	$message.=$message_txt."\r\n".$message_html."\r\n";
 
 
 
	//----------------------------------------------- 
	//PIECE JOINTE 
	//----------------------------------------------- 
	// Pièce jointe 1
	$file_name = $aecfichierlog;
		if (file_exists($file_name))
	{
		$file_type = filetype($file_name);
		$file_size = filesize($file_name);
		echo "$file_type"."\r\n"."$file_size"."\r\n";
		$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
		$content = fread($handle, $file_size);
		$coded_content = chunk_split(base64_encode($content));
		$f = fclose($handle);
 
		$message.= '--'.$frontiere."\r\n";
		$message.= 'Content-type: text/plain; name='.$file_name."\r\n";
		$message.= 'Content-Length: '.$file_size."\r\n";
		$message.= 'Content-transfer-encoding:base64'."\r\n";
		$message.= 'Content-disposition: attachment; filename='.$file_name."\r\n";
		$message.= $coded_content."\r\n";
		$message.= '--'.$frontiere."\r\n";
	}
 
	//----------------------------------------------- 
	//Fin du Message 
	//----------------------------------------------- 
 
	if (mail($destinataire,$sujet,$message,$headers)) 
	{ 
	     echo 'Le mail a été envoyé avec succès'."\n"; 
	} 
	else 
	{ 
	     echo 'Le mail n\'a pu \être envoyé'."\n"; 
	}	
	echo "    // C'est fini. On ferme !"."\n";
?>