[Mail] problème de formulaire email
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:
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
Code:
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
?> |
page contact.htm
Code:
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