Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour à tous,
J'ai passé toute la journée sur ce code pour essayer d'envoyer un mail avec une pièce jointe via un formulaire.
Le mail arrive bien dans ma boite avec une petite trombone pour me dire qu'il y a une pièce jointe et quand je l ouvre il n' y a pas de pièce jointe et pas de message.
Mon code:
if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
}
//====éclaration des messages au format texte et au format HTML
$message_txt ="Nom : ";
$message_html = "<html><head></head><body><b>Données pour la demande d'accès</b>,<br><br> <b>Nom :</b> $nom <br> <b>Prenom :</b> $prenom <br> <b>Email: </b> $mail </body></html>";
//==========
//=====Lecture et mise en forme de la pièce jointe
$fichier1 = fopen($content_dir . $name_file, "r" );
$attachement = fread($fichier1, filesize($content_dir . $name_file));
$attachement = chunk_split(base64_encode($attachement));
fclose($fichier1);
//==========
//=====Création de la boundary
$boundary = "-----=".md5(rand());
$boundary_alt = "-----=".md5(rand());
//==========
//====éfinition du sujet
$sujet = "Salut mon ami !";
//=========
//=====Création du header de l'e-mail
$header = "From: \"Mars\"<mccm@netplus.ch>\n";
$header.= "Reply-to: \"Mars\" <mccm@netplus.ch>\n";
$header.= "MIME-Version: 1.0\n";
$header.= "Content-Type: multipart/mixed;\n boundary=\"$boundary\"\n";
//==========
//=====Création du message
$message = "\n--".$boundary."\n";
$message.= "Content-Type: multipart/alternative;\n boundary=\"$boundary_alt\"\n";
$message.= "\n--".$boundary_alt."\n";
//=====Ajout du message au format texte
$message.="Content-Type: text/plain; charset=\"ISO-8859-1\"\n";
$message.="Content-Transfer-Encoding: 8bit\n";
$message.= $message_txt."\n";
//==========
$message.= "\n--".$boundary_alt."\n";
//=====Ajout du message au format HTML
$message.="Content-Type: text/html; charset=\"ISO-8859-1\"\n";
$message.="Content-Transfer-Encoding: 8bit\n";
$message.= $message_html."\n";
//==========
//=====On ferme la boundary alternative
$message.= "\n--".$boundary_alt."--\n";
//==========
$message.= "\n--".$boundary."\n";
//=====Ajout de la pièce jointe
$message.= "Content-Type: application/pdf;\n name=\"$fichier\"\n";
$message.= "Content-Transfer-Encoding: base64\n";
$message.= "Content-Disposition: attachment;\n filename=\"$fichier\"\n";
$message.= "\n".$attachement."\n\n";
$message.= "\n--".$boundary."--\n";
echo $message;
//==========
//=====Envoi de l'e-mail
mail("mccm@netplus.ch",$sujet,$message,$header);
?>
J' ai contrôlé que mon fichier étais bien uploadé et c' est le case le fichier et bien là. Merci a celui qui pourra m'aider.
Hors ligne
Pages :: 1