Erreur formulaire avec fichier joint

[Résolu]
Signaler
Messages postés
18
Date d'inscription
lundi 3 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2006
-
Messages postés
18
Date d'inscription
lundi 3 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2006
-
Bonjour,

Je possède un formulaire avec fichier joint.
Mais je ne reçoit pas de mail !
Pourtant, aucune erreur apparait pendant l'envoi !

Pouvez vous m'aider

SVP

Merci

Source :

formulaire.php :

<html>

<head>
<script language="javascript">
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="Namo WebEditor v6.0">
<title>Formulaire</title>
</head>
<form name="formulaire" method="post" action="envoi.php" onSubmit="return verif2(this.mail.value)">

ENTREZ
VOS INFORMATIONS CI-DESSOUS:,
,
,

----

Nom :,
,
,
,

----

Prénom :,
,
,
,

----

Email :,
,
,
,

----

Vos photos :,
,
,

</td>

,
----

Commentaires :,
<textarea name="commentaire" rows="5" cols="31"></textarea>,
,
----

,




</form>

</html>

et envoi.php :

<html>

<head>
<title>Formulaire</title>
<meta name="generator" content="Namo WebEditor v6.0">
</head>

<script language="JavaScript">
</script>
<?

$name_file = $_FILES['photos']['name'];
$source=$_FILES['photos']['tmp_name'];

move_uploaded_file($source, "./".$name_file);

$extension=get_extension($name_file);

$type="image/png";

if($extension=="gif")
{
$type2="image/gif";
}
else if($extension=="bmp")
{
$type2="image/bmp";
}
else if($extension=="jpg")
{
$type2="image/jpg";
}
else if($extension=="jpeg")
{
$type2="image/jpeg";
}
function get_extension($filename)
{
$parts = explode('.',$filename);
$last = count($parts) - 1;
$ext = $parts[$last];
return $ext;
}

if($_POST['dest']!="")
{
$boundary = "-----=".md5(uniqid(rand()));
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary="$boundary"\r\n";
$header .= "\r\n";


$msg .= "--$boundary\r\n";

$msg .= "Content-Type: $type; charset="iso-8859-1"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= $_POST['formulaire'];
$msg .= "\r\n";
$msg .= "\r\n";
$msg .= Nom__.$_POST['nom'];
$msg .= "\r\n";
$msg .= Prenom__.$_POST['prenom'];
$msg .= "\r\n";
$msg .= Mail__.$_POST['mail'];
$msg .= "\r\n";
$msg .= Commentaires__.$_POST['commentaire'];
$msg .= "\r\n";


if($name_file!="")
{
$file = $name_file;
$fp = fopen($file, "rb");
$attachment = fread($fp, filesize($file));
fclose($fp);

$attachment = chunk_split(base64_encode($attachment));

$msg .= "--$boundary\r\n";
$msg .= "Content-Type: $type2; name="$file"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-Disposition: inline; filename="$file"\r\n";
$msg .= "\r\n";
$msg .= $attachment . "\r\n";
$msg .= "\r\n\r\n";
$msg .= "--$boundary--\r\n";
}

$destinataire = $_POST['mon_mail@hebergeur.fr'];
$expediteur = $_POST['main_expediteur@hebergeur.fr'];

mail($_POST['destinataire'], $_POST['sujet'], $msg, "Reply-to: {$_POST['reponse']}\r\nFrom: {$_POST['expediteur']}\r\n".$header);

}

if($name_file!="")
{
unlink($name_file);

}
$envoi = @mail;

if( $envoi )
{ echo "Mail bien envoyé"; }
else{ echo "Problème lors de l'envoi"; }


?>







</html>

2 réponses

Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Je suis pas sùr de ca :
mail($_POST['destinataire'], $_POST['sujet'], $msg, "Reply-to: {$_POST['reponse']}\r\nFrom: {$_POST['expediteur']}\r\n".$header);

mais ca c certain (pr les ${...}) :

mail($_POST['destinataire'], $_POST['sujet'], $msg, "Reply-to: ".$_POST['reponse']."\nFrom: ".$_POST['expediteur']."\n".$header);

<form enctype="multipart/form-data" name="formulaire" method="post" action="envoi.php" onSubmit="return verif2(this.mail.value)">

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Messages postés
18
Date d'inscription
lundi 3 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2006

Merci,

Mais dès que le fichier fait plus de 200 ko, le fichier est uploadé sur mon serveur, pourtant chez mon hebergeur (Free) où la fonction mail (qui est réactivée depuis pas lontemps) est sans limite de taille d'envoi.
Et je ne reçois pas de mail.

Comment faire pour que je reçoive tous les mail de toutes taille dans ma boite aux lettre et non dans mon serveur ?

Merci beaucoup

Vali103