[PHP] Mail avec fichiers joints, corrompus !

Fermé
vensatis Messages postés 16 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 25 juin 2005 - 25 juin 2005 à 03:40
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 26 juin 2005 à 13:24
Bonjour,
Je suis depuis quelques heures sur un script qui doit envoyer un mail avec un fichier joint. Tout marche a merveille, je reçois le fichier avec la bonne extension mais lorsque je désire l'ouvrir, impossible !

Et cela quelque soit le fichier, Word, Image, Texte... En local ou en ligne... Incompréhensible.

Si vous désirez voir la source n'hésitez pas.
A voir également:

5 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
25 juin 2005 à 13:56
Salut,

Oui, montre voir la source...
0
vensatis Messages postés 16 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 25 juin 2005
25 juin 2005 à 14:25
Et bien en faite cela semble venir de mon serveur SMTP. J'ai testé en ligne, il marche correctement avec pas mal de fichiers mais il ne supporte pas les .doc...

Voilà une partie de la source :

if (is_uploaded_file($fileatt)) {
 // Read the file to be attached ('rb' = read binary)
 $file = fopen($fileatt,'rb');
 $data = fread($file,filesize($fileatt));
 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" .
             " 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));


 // Add file attachment to the message
 $message .= "--{$mime_boundary}\n" .
             "Content-Type: {$fileatt_type};\n" .
             " name=\"{$fileatt_name}\"\n" .
             "Content-Disposition: attachment;\n" .
             " filename=\"{$fileatt_name}\"\n" .
             "Content-Transfer-Encoding: base64\n\n" .
             $data . "\n\n" .
             "--{$mime_boundary}--\n";
}
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
25 juin 2005 à 15:24
Tu es sûr que tu peux rajouter des tubes | pour le nom, le type du fichier etc.... ?
0
vensatis Messages postés 16 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 25 juin 2005
25 juin 2005 à 17:53
Ah je sais pas, la source n'est pas de moi. Elle fonctionne correctement cependant. Sauf pour les fichiers word.

Je vais autoriser uniquement le .zip et sa ira hein ! :)

Merci à toi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 juin 2005 à 13:24
Comme tu veux....
0