bonjour,
je n'arrive pas à envoyer un mail avec une pièce jointe pdf avec PHP mail()
le mail s'envoie bien mais à l'arrivée j'ai un texte comme ceci dans le mail au lieu d'avoir une "vraie" pièce jointe que je peux ouvrir et lire
voici le code de ma fonction d'envoi de mail------=_parties_a075a261dabf78deaab71d93f13e7d8a
Content-Type: application/pdf; name="price_inquiry"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="price_inquiry"
JVBERi0xLjYNJeLjz9MNCjEwNzY4IDAgb2JqDTw8L0ZpbHRlci9GbGF0ZURlY29kZS9GaXJzdCA0
L0xlbmd0aCA5Ni9OIDEvVHlwZS9PYmpTdG0+PnN0cmVhbQ0KaN4yVTBQsLHRd84vzStRMNf3zkwp
jjYBigUpWBqCKSNjMzBtYgChTc3NjSEMU1OIQlMTE7DSWH3f1JTMRKf8imgDIN/M0EjB3NIoVj+k
siBVPyAxPbXYzg4gwACYWBrODWVuZHN0cmVhbQ1lbmRvYmoNMTA3NjkgMCBvYmoNPDwvRmlsdGVy
L0ZsYXRlRGVjb2RlL0ZpcnN0IDE5L0xlbmd0aCAzMjYvTiAzL1R5cGUvT2JqU3RtPj5zdHJlYW0N
CmjerFJdT8IwFP0r/QWs964fW0KW6BSeiITuwYQQMkcDGF3JqAn+e9uuRNHxYPTx9Jye3nNuGaEk
B8KAE0YFEQLJeJzctK2xRyIlF45fJKVprW7dCVCJPBzN9GZf35rTkjrIcz5CKUjGYJTlq2Red05O
euVCH81b1+ijMy7Ni+nUoW60B4p6Q4ZeVhTJ/clOla2t56aBE5gFi6kCr+QYEQaURpR6ZUajy8TN
6gwqWAcH6IdwEAKEM8QA8QyDCfRxq6q/KqPlvDON0naZzO8mSaVPduWPDrqz+5BqVvZB8qhXu3
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 function mail_attachement($to , $sujet , $message , $fichier , $typemime , $nom , $reply , $from){ $limite = "_parties_".md5(uniqid (rand())); $mail_mime = "Date: ".date("l j F Y, G:i")."\n"; $mail_mime .= "MIME-Version: 1.0\n"; $mail_mime .= "Content-Type: multipart/mixed;\n"; $mail_mime .= " boundary=\"----=$limite\"\n\n"; //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML $texte = "This is a multi-part message in MIME format.\n"; $texte .= "Ceci est un message est au format MIME.\n"; $texte .= "------=$limite\n"; $texte .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; $texte .= "Content-Transfer-Encoding: 7bit\n\n"; $texte .= $message; $texte .= "\n\n"; //le fichier $attachement = "------=$limite\n"; $attachement .= "Content-Type: $typemime; name=\"$nom\"\n"; $attachement .= "Content-Transfer-Encoding: base64\n"; $attachement .= "Content-Disposition: attachment; filename=\"$nom\"\n\n"; $fd = fopen( $fichier, "r" ); $contenu = fread( $fd, filesize( $fichier ) ); fclose( $fd ); $attachement .= chunk_split(base64_encode($contenu)); $attachement .= "\n\n\n------=$limite\n"; return mail($to, $sujet, $texte.$attachement, "Reply-to: $reply\nFrom: $from\n".$mail_mime); }
et ensuite j'envoie mon mail simplement en faisant ceci :
j'ai fait plusieurs essais, je ne vois vraiment pas ou ça coince ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $to = "myemail@mondomaine.fr"; $sujet = "Demande de prix"; $message = "Bonjour, vous trouverez ci-joint une demande de prix :"; $fichier = "ouverture_compte.pdf"; $typemime = "application/pdf"; $nom = "ouverture_compte"; $reply = "myemail@mondomaine.fr"; $from = "myemail@mondomaine.fr"; mail_attachement($to , $sujet , $message , $fichier , $typemime , $nom , $reply , $from)
merci par avance pour votre aide
Partager