file_get_contents(), envoie mail() avec pièce jointe php

WRInaute discret
Bonjour,
j'ai fait un formulaire avec la possibilité d'envoyer au maximum 3 fichiers (images)....
Pour le type MIME je gère comme ceci :
Code:
$nombre = sizeof($tab_fichier);
for ($i = 0; $i <$nombre; $i++)
{
	if($tab_fichier[$i]!=""){
	$path_parts = pathinfo($tab_fichier[$i]);
	$message .= 'Content-Type: image/'.$path_parts['extension'].'; name="'.$path_parts['basename'].'"'."\n";
	$message .= 'Content-Transfer-Encoding: base64'."\n";
	$message .= 'Content-Disposition:attachment; filename="'.$path_parts['basename'].'"'."\n\n";
	$message .= chunk_split(base64_encode(file_get_contents($path_parts['basename'])))."\n";
	}
}
$tabfichier[] contient les noms des fichiers.
Mais lors de l'envoie du formulaire, je reçois bien le mail mais il n'y a pas de pièces jointes et j'ai :
Content-Type: image/gif; name="icon_bug.gif"
Content-Transfer-Encoding: base64
Content-Disposition:attachment; filename="icon_bug.gif"

Content-Type: image/gif; name="headbang.gif"
Content-Transfer-Encoding: base64
Content-Disposition:attachment; filename="headbang.gif"

au format texte dans le corps du mail.
Puis j'ai aussi l'erreur sur file_get_contents($path_parts['basename']) :
Warning: file_get_contents(icon_bug.gif): failed to open stream

Je voudrais savoir pourquoi je ne reçois les Content-xxxx du MIME en tant que texte dans le mail..
 
WRInaute passionné
tu devrais utiliser une classe comme phpMailer qui te permettrait de faire ça parfaitement en 4 lignes.. le tout étant d'encoder l'image et de l'inclure dans le message..
 
WRInaute discret
Merci RomsIW , je viens de voir phpMailer,mais j'ai pas tout compris !!
je ne vois pas comment utiliser une classe
 
Discussions similaires
Haut