Bonjour,
Je préfère commencer par dire que je n'ai malheureusement pas le droit d'utiliser la classe PHPMailer.
Voici mon problème : j'essaie d'envoyer une pièce jointe dans mon mail, le soucis c'est que ça me ressort dans le mail :
Le contenu de la pièce jointe est affichée mais impossible d'avoir accès à cette pièce jointe.CONTENU DU MAIL EN HTML
Content-Type: image/jpeg; name="test.JPG" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test.JPG" /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAFuAyADASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL etc ...
Voici mon code :
Dans mon entête de mail, j'ai :
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 $attachement = ""; // Récupération de la pièce jointe if(isset($_FILES['NomFichier']) && $_FILES['NomFichier']['name'] != '') { set_time_limit(0); if(!is_uploaded_file($_FILES['NomFichier']['tmp_name'])) echo('Erreur : Fichier non téléchargé!'); else { $type = $_FILES['NomFichier']['type']; $nom_fichier = $_FILES['NomFichier']['name']; $nom_tmp = $_FILES['NomFichier']['tmp_name']; $fd = fopen($nom_tmp, "r" ); $contenu = fread($fd, filesize($nom_tmp)); $encoded_attach = chunk_split(base64_encode($contenu)); fclose($fd); $attachement .= "Content-Type: ".$type."; name=\"".$nom_fichier."\"\n"; $attachement .= "Content-Transfer-Encoding: BASE64\n"; $attachement .= "Content-Disposition: attachment; filename=\"".$nom_fichier."\"\n\n"; $attachement .= $encoded_attach; $attachement .= "\n\n\n"; } }
Si vous avez une idée pour m'aider, elle est la bienvenue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $entete = "MIME-Version: 1.0\r\n"; $entete .= "Content-type: text/html; charset=iso-8859-1\r\n"; $entete .= "X-Priority: 1\n"; $entete .= "From: ME \n";
Merci.
edit : j'ai oublié de préciser que si je mets : "Content-type: multipart/mixed; " dans l'entête, ça fait la même chose.
Partager