Courrier avec pièce jointe en php
stevie21
-
marjoBZH -
marjoBZH -
Bonjour, je tente d'envoyer un courriel et d'y inclure une page web en php. Voici le code que j'utilise pour l'instant:
1 //=====Lecture et mise en forme de la pièce jointe
2 $fichier = fopen("JOBS.doc", "r");
3 $attachement = fread($fichier, filesize($cv));
4 $attachement = chunk_split(base64_encode("JOBS.doc"));
5 fclose($fichier);
6 //==========
7
8 //=====Création de la boundary
9 $boundary = "-----=".md5(rand());
10 $boundary_alt = "-----=".md5(rand());
11 //==========
12
13 //=====Définition du sujet
14 $sujet = "Envoi de CV";
15 //=========
16
17 //=====Création du header de l'e-mail \"WeaponsB\"<weaponsb@mail.fr>\n
18 $header = "From: $nom";
19 $header.= "Reply-to: \"WeaponsB\" <sheon@scierielandrienne.com>\n";
20 $header.= "MIME-Version: 1.0\n";
21 $header.= "Content-Type: multipart/mixed;\n boundary=\"$boundary\"\n";
22 //==========
23
24 //=====Création du message
25 $message = "\n--".$boundary."\n";
26 $message.= "Content-Type: multipart/alternative;\n boundary=\"$boundary_alt\"\n";
27 $message.= "\n--".$boundary_alt."\n";
28 //=====Ajout du message au format texte
29 $message.="Content-Type: text/plain; charset=\"ISO-8859-1\"\n";
30 $message.="Content-Transfer-Encoding: 8bit\n";
31 $message.= $message_txt."\n";
32 //==========
33
34 $message.= "\n--".$boundary_alt."\n";
35
36 //=====Ajout du message au format HTML
37 $message.="Content-Type: text/html; charset=\"ISO-8859-1\"\n";
38 $message.="Content-Transfer-Encoding: 8bit\n";
39 $message.= $message_html."\n";
40 //==========
41
42 //=====On ferme la boundary alternative
43 $message.= "\n--".$boundary_alt."--\n";
44 //==========
45
46 $message.= "\n--".$boundary."\n";
47
48 //=====Ajout de la pièce jointe
49 $message.= "Content-Type: text/rfc822 [RFC822];\n name=\"cv.doc\"\n";
50 $message.= "Content-Transfer-Encoding: base64\n";
51 $message.= "Content-Disposition: attachment;\n filename=\"cv.doc\"\n";
52 $message.= "\n".$attachement."\n\n";
53 $message.= "\n--".$boundary."--\n";
54 //==========
55 //=====Envoi de l'e-mail
56 mail("splante@scierielandrienne.com",$sujet,$message,$header);
Le courriel se rend correctement sur mon adresse avec la pièce jointe. Le problème, c'est lorsque j'ouvre la pièce jointe, celle-ci est vide...
voici les messages que je reçois sur ma page de confirmation après l'envoit du courriel:
Warning: fopen(JOBS.doc) [function.fopen]: failed to open stream: No such file or directory in /home/scie8210/public_html/confirmation-envois.php on line 2
Warning: fread(): supplied argument is not a valid stream resource in /home/scie8210/public_html/confirmation-envois.php on line 3
Warning: fclose(): supplied argument is not a valid stream resource in /home/scie8210/public_html/confirmation-envois.php on line 5
Si vous pouvez m'éclairez, ce serait apprécié, merci !!
1 //=====Lecture et mise en forme de la pièce jointe
2 $fichier = fopen("JOBS.doc", "r");
3 $attachement = fread($fichier, filesize($cv));
4 $attachement = chunk_split(base64_encode("JOBS.doc"));
5 fclose($fichier);
6 //==========
7
8 //=====Création de la boundary
9 $boundary = "-----=".md5(rand());
10 $boundary_alt = "-----=".md5(rand());
11 //==========
12
13 //=====Définition du sujet
14 $sujet = "Envoi de CV";
15 //=========
16
17 //=====Création du header de l'e-mail \"WeaponsB\"<weaponsb@mail.fr>\n
18 $header = "From: $nom";
19 $header.= "Reply-to: \"WeaponsB\" <sheon@scierielandrienne.com>\n";
20 $header.= "MIME-Version: 1.0\n";
21 $header.= "Content-Type: multipart/mixed;\n boundary=\"$boundary\"\n";
22 //==========
23
24 //=====Création du message
25 $message = "\n--".$boundary."\n";
26 $message.= "Content-Type: multipart/alternative;\n boundary=\"$boundary_alt\"\n";
27 $message.= "\n--".$boundary_alt."\n";
28 //=====Ajout du message au format texte
29 $message.="Content-Type: text/plain; charset=\"ISO-8859-1\"\n";
30 $message.="Content-Transfer-Encoding: 8bit\n";
31 $message.= $message_txt."\n";
32 //==========
33
34 $message.= "\n--".$boundary_alt."\n";
35
36 //=====Ajout du message au format HTML
37 $message.="Content-Type: text/html; charset=\"ISO-8859-1\"\n";
38 $message.="Content-Transfer-Encoding: 8bit\n";
39 $message.= $message_html."\n";
40 //==========
41
42 //=====On ferme la boundary alternative
43 $message.= "\n--".$boundary_alt."--\n";
44 //==========
45
46 $message.= "\n--".$boundary."\n";
47
48 //=====Ajout de la pièce jointe
49 $message.= "Content-Type: text/rfc822 [RFC822];\n name=\"cv.doc\"\n";
50 $message.= "Content-Transfer-Encoding: base64\n";
51 $message.= "Content-Disposition: attachment;\n filename=\"cv.doc\"\n";
52 $message.= "\n".$attachement."\n\n";
53 $message.= "\n--".$boundary."--\n";
54 //==========
55 //=====Envoi de l'e-mail
56 mail("splante@scierielandrienne.com",$sujet,$message,$header);
Le courriel se rend correctement sur mon adresse avec la pièce jointe. Le problème, c'est lorsque j'ouvre la pièce jointe, celle-ci est vide...
voici les messages que je reçois sur ma page de confirmation après l'envoit du courriel:
Warning: fopen(JOBS.doc) [function.fopen]: failed to open stream: No such file or directory in /home/scie8210/public_html/confirmation-envois.php on line 2
Warning: fread(): supplied argument is not a valid stream resource in /home/scie8210/public_html/confirmation-envois.php on line 3
Warning: fclose(): supplied argument is not a valid stream resource in /home/scie8210/public_html/confirmation-envois.php on line 5
Si vous pouvez m'éclairez, ce serait apprécié, merci !!
A voir également:
- Courrier avec pièce jointe en php
- Pièce d'identité - Accueil - Services publics
- 1 pièce jointe - Guide
- Publipostage outlook avec pièce jointe pdf - Forum Word
- Pps piece jointe ✓ - Forum Réseaux sociaux
- One piece kai vf - Forum Cinéma / Télé
3 réponses
Bonsoir:
Warning: fopen(JOBS.doc) [function.fopen]: failed to open stream: No such file or directory in /home/scie8210/public_html/confirmation-envois.php on line 2
veut dire que:
2 $fichier = fopen("JOBS.doc", "r"); nepeux pas s'éxécuter soit que le fichier JOBS.doc n'existe pas sur le serveur, soit que sont orthographe n'est pas bonne soit qu'il n'est pas dans le même répertoire que le script d'envoi du mail
si tu veux envoyer un mail avec pièce jointe il existe une classe php qui va bien:
cherche sur G...
Warning: fopen(JOBS.doc) [function.fopen]: failed to open stream: No such file or directory in /home/scie8210/public_html/confirmation-envois.php on line 2
veut dire que:
2 $fichier = fopen("JOBS.doc", "r"); nepeux pas s'éxécuter soit que le fichier JOBS.doc n'existe pas sur le serveur, soit que sont orthographe n'est pas bonne soit qu'il n'est pas dans le même répertoire que le script d'envoi du mail
si tu veux envoyer un mail avec pièce jointe il existe une classe php qui va bien:
phpmailer
cherche sur G...
Ce que je veux obtenir, ce sont des C.V. afin de les consulter, je ne peux donc pas les avoir sur mon serveur auparavant.
Pour ce qui est de phpmailer, j'ai déjà consulté un peu, mais avec peu de succés.