bonjour,
je suis amené à récupérer le suivi d'un site pour une petite structure; et je constate un pb d'envoi de mail. Tout semble bien fonctionner, mais quand je teste le formulaire, je ne reçois pas le contenu rempli par le destinataire! comme mes compétences en php sont des plus limitées je viens chercher de l'aide.
Voici les pages relatives au mail
mail.htm
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 <html> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <body> <? $vide=""; $Uploaddir = "upload/"; // declaration de la classe require "mime_mail.class.php"; // instanciation de la classe $mail = new mime_mail(); $corps="Prenom:$Prenom Nom:$Nom\r Entreprise:$entreprise\r Adresse:$adresse\r C.P.:$codpost Ville:$ville\r Tel : $tel\r Fax: $fax\r E-mail : $email\r\r Message : $vide\r\r $message\r"; //******************adresse à changer********************************** //$email="slelong.capaccession@free.fr"; $email="ac.cap.accession@free.fr"; //******************adresse à changer********************************** $mail->to = $email; // sujet //******************texte à changer********************************** //$mail->subject = "e-mail provenant du formulaire Cap Accession"; $mail->subject = "e-mail provenant du formulaire Cap Accession"; //******************texte à changer********************************** // Affectation de la variable corps dans le corps du mail. //$mail->body = $email; $mail->body = $corps; //******************texte à changer********************************** // adresse email de l'expediteur (optionnel) $mail->from = "Provient du Site Cap Accession"; //******************texte à changer********************************** // entetes supplementaires (optionnel) $entetedate = date("D, j M Y H:i:s -0500"); $entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ; $entetemail .= "Date: $entetedate"; $mail->headers = "$entetemail"; if ($_FILES['Fichier']['tmp_name'] != '') { // Transfert du fichier sur le serveur PHP move_uploaded_file($_FILES['Fichier']['tmp_name'], $Uploaddir . $_FILES['Fichier']['name']); // ouverture et lecture du fichier $fichier_attache = fread(fopen($_FILES['Fichier']['name'], "r"),filesize($_FILES['Fichier']['name'])); // fichier attache (optionnel) $mail->attach($fichier_attache,$_FILES['Fichier']['name']); } // envoi du message $mail->send(); //echo 'coprps : ',$mail; if ($_FILES['Fichier']['tmp_name'] != '') { // Fermeture du fichier fclose($fichier); } echo '<script>alert("Votre e-mail a bien été envoyé ! ");</script>'; echo '<script>history.go(-1);</script>'; ?> </body> </html>
Mine_mail.class.php
page contact.htm
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137 <? # EXEMPLE D'UTILISATION # # # # // declaration de la classe # require "mime_mail.class.php"; # # // ouverture et lecture du fichier # $fichier_attache = fread(fopen("test.jpg", "r"), filesize("test.jpg")); # # // instanciation de la classe # $mail = new mime_mail(); # // parametres # $mail->to = "adresse@email"; // Adresse email de reception # $mail->subject = "Test"; // Sujet # $mail->body = "Ceci est un test."; // Corps du message # $mail->from = "adresse@email"; // Adresse email de l'expediteur (optionnel) # $mail->headers = "Date: "; // Entetes supplementaires (optionnel) # $mail->attach("$fichier", "test.jpg"); // fichier attache (optionnel) # // envoi du message # $mail->send(); # # # ###################################################################### class mime_mail { var $parts; var $to; var $from; var $headers; var $subject; var $body; // constructeur function mime_mail() { $this->parts = array(); $this->to = ""; $this->from = ""; $this->subject = ""; $this->body = ""; $this->headers = ""; } // attache un fichier au message function attach($message,$name,$ctype = '') { // type de contenu non defini if(empty($ctype)){ // on essaie de reconnaitre l'extension switch(strrchr(basename($name), ".")){ case ".gz": $ctype = "application/x-gzip"; break; case ".tgz": $ctype = "application/x-gzip"; break; case ".zip": $ctype = "application/zip"; break; case ".pdf": $ctype = "application/pdf"; break; case ".png": $ctype = "image/png"; break; case ".gif": $ctype = "image/gif"; break; case ".jpg": $ctype = "image/jpeg"; break; case ".txt": $ctype = "text/plain"; break; case ".htm": $ctype = "text/html"; break; case ".html": $ctype = "text/html"; break; default: $ctype = "application/octet-stream"; break; } } $this->parts[] = array ( "ctype" => $ctype, "message" => $message, "encode" => $encode, "name" => $name ); // fin de fonction } // fonction utilisee pour contruire le message MIME // utilisee depuis build_multipart() function build_message($part) { $message = $part[ "message"]; $message = chunk_split(base64_encode($message)); $encoding = "base64"; return "Content-Type: ".$part[ "ctype"]. ($part[ "name"]? "; name = \"".$part[ "name"]. "\"" : ""). "\nContent-Transfer-Encoding: $encoding\n\n$message\n"; } // compose le message MIME // utilisee depuis send() function build_multipart() { $boundary = "b".md5(uniqid(time())); $multipart = "Content-Type: multipart/mixed; boundary = $boundary\n\nThis is a MIME encoded message.\n\n--$boundary"; for($i = sizeof($this->parts) - 1; $i >= 0; $i--) { $multipart .= "\n".$this->build_message($this->parts[$i]). "--$boundary"; } return $multipart.= "--\n"; } // envoie le message // derniere fonction a appeler function send() { $mime = ""; // parametres optionnels if (!empty($this->from)) $mime .= "From: ".$this->from. "\n"; if (!empty($this->headers)) $mime .= $this->headers. "\n"; if (!empty($this->body)) $this->attach($this->body, "", "text/plain"); // entete MIME $mime .= "MIME-Version: 1.0\n".$this->build_multipart(); // envoi du message mail($this->to, $this->subject, "", $mime); } }; // fin de la classe ?>
Code HTML : 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>contact</title> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> <script type="text/javascript" src="fjavascript/menus.js"></script> <script type="text/javascript" language="javacript" src="compteur.php"></script> <link href="fStyles/styles.css" rel="stylesheet" type="text/css" media="all" /> <style type="text/css"> <!-- #page {position:absolute; border: 0px none #000000;width:590px;height:380px;z-index:8;left: 0;top: 0;} #image {position:absolute; width:280px; height:197px; z-index:4; left: 0px; top: 0px;} #formulaire {position: absolute;z-index: 15;top: 19px;left: 15px;width: 552px;height: 330px;} #texte {position:absolute; width:538px; height:365px; z-index:5; left: 25px; top: 9px;} #fondtitre { position:absolute; width:309px; height:76px; z-index:3; top: 7px; left: 8px; } .Style2 {font-size: 12px} --> </style> </head> <body> <div id="fond" style="position:absolute; width:200px; height:115px; z-index:3; left: 0px; top: 0px;"><img src="images/fondprogram.jpg" width="590" height="380" /></div> <div id="page" > <div id="formulaire"> <form name="form1" onSubmit="return validation();" method="post" action="fjavascript/upload/mail.php" enctype="multipart/form-data"> <table border="0" width="548" align="left" height="362" cellspacing="0"> <tr height="96"> <td height="35" colspan="2"><span class="sstitre"><span class="sstitre Style2">Pour plus de renseignements sur un de nos programmes, vous pouvez nous contacter à l'aide du formulaire ci-dessous. Nous vous répondrons le plus rapidement possible.</span></span> </td> </tr> <tr height="23"> <td class="detail" width="60" height="22">Nom<span class="ssrubrique">*</span> : </td> <td width="484" height="22"><input class="detail" type="text" name="nom" size="50" tabindex="1"value""></td> </tr> <tr height="23"> <td class="detail" width="60" height="23">Prénom<span class="ssrubrique">*</span> : </td> <td width="484" height="23"><input class="detail" type="text" name="prenom" size="50" tabindex="2" /></td> </tr> <tr height="23"> <td class="detail" width="60" height="23">Société : </td> <td width="484"><input class="detail" type="text" name="entreprise" size="50" tabindex="3" /></td> </tr> <tr height="21"> <td class="detail" width="60" valign="top" height="24">Adresse<span class="ssrubrique">*</span> : </td> <td width="484" height="24" valign="top"><input name="adresse" type="text" class="detail" tabindex="4" value="" size="50" /></td> </tr> <tr height="23"> <td class="detail" width="60" valign="top" height="23">Code postal<span class="ssrubrique">*</span> :</td> <td width="484" height="23" valign="top"><input class="detail" type="text" name="codpost" size="50" tabindex="5" /></td> </tr> <tr height="23"> <td class="detail" width="60" valign="top" height="21">Ville<span class="ssrubrique">*</span> : </td> <td width="484" height="21" valign="top"><input class="detail" type="text" name="ville" size="50" tabindex="6" /></td> </tr> <tr height="44"> <td class="detail" width="60" valign="top" height="49">Message : </td> <td width="484" valign="top" height="49"><textarea name="message" cols="50" rows="2" wrap="VIRTUAL" class="detail" tabindex="7"></textarea></td> </tr> <tr height="21"> <td width="60" height="21" valign="top" class="detail">Tél.<span class="ssrubrique">*</span> : </td> <td width="484" valign="top" class="detail"><input class="detail" type="text" name="tel" size="50" tabindex="8" /></td> </tr> <tr height="21"> <td class="detail" width="60" height="21" valign="top">E-mail<span class="ssrubrique">*</span> : </td> <td width="484" height="21" valign="top"><input class="detail" type="text" name="email" size="50" tabindex="10" /></td> </tr> <tr height="23"> <td width="60" height="43" valign="top"></td> <td width="484" height="43" valign="top"> <p><input class="detail" type="submit" name="Envoyer" value=" Envoyer " /> <span class="detail"><input class="detail" type="reset" name="Reinitialiser" value="Annuler" /></span></p> </td> </tr> <tr height="23"> <td colspan="2" valign="top"><span class="texte"></span> <div align="left"><span class="texteonglet1"></span></div></td> </tr> </table> </form> </div> </div> <div id="champs" style="position:absolute; width:153px; height:169px; z-index:9; left: 408px; top: 155px;"> <p class="detail"><span class="texte">Tous les champs marqués d'une * sont obligatoires.<br /> </span><span class="texte"><br /> </span>Vous disposez, conformément à l'article 34 de la loi "Informatique et Libertés" du 6 janvier 1978, d'un droit d'accès, de rectification, de modification et de suppression concernant les données qui vous concernent. </p> </div> </body> </html>
je vous remercie d'avance de l'aide que vous pourrez m'apporter
Partager