[PHP] envoi mail avec piece jointe .zip

Fermé
rodskin Messages postés 1 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 18 juin 2010 - 18 juin 2010 à 17:41
Bonjour,

Je cherche à envoyer un mail avec une pièce jointe .zip (sans utiliser PEAR).
J'ai lu des milliers d'exemples, mais ca ne marche toujours pas.
Au mieux, j'obtiens l'archive jointe sous forme de string...

voici le code utilisé:
// Read the file to be attached ('rb' = read binary)
	 $file = fopen($chemin.$archive,'rb');
	 $data = fread($file,filesize($chemin.$archive));
	 fclose($file);
	
	 // Generate a boundary string
	 $semi_rand = md5(time());
	 $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
	 
	 // Add the headers for a file attachment
	 $headers .= "\nMIME-Version: 1.0\n" .
	             " Content-Type: multipart/mixed;\n" .
	 			 " From: \"newsletter-bo-cybercartes\"<>".
	             " boundary=\"{$mime_boundary}\"";
	
	
	 // Add a multipart boundary above the plain message
	 $message = "This is a multi-part message in MIME format.\n\n" .
	            "--{$mime_boundary}\n" .
	            "Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
	            "Content-Transfer-Encoding: 7bit\n\n" .
	            $message . "\n\n";
	
	
	 // Base64 encode the file data
	 $data = chunk_split(base64_encode($data));
	
	$archive_full = $chemin.$archive;
	 // Add file attachment to the message
	 $message .= "--{$mime_boundary}\n" .
	             "Content-Type: application/zip;\n" .
	             "name=\"{$archive}\"\n" .
	             "Content-Disposition: attachment;\n" .
	             "filename=\"{$archive_full}\"\n" .
	             "Content-Transfer-Encoding: base64\n\n" .
	             $data . "\n\n" .
	             "--{$mime_boundary}--\n";
	
	$destinataire = 'moi@monmail.com';
	
	echo('Début envoi mail');

	if(mail($destinataire, "titre", $message, $headers))
        echo('Le message a bien été envoyé');
    else
        echo('Le message n\'a pu être envoyé');
	
	echo('Fin envoi mail');


Si quelqu'un peut m'aider, je sèche complètement.

Merci
Rod