首页 > 解决方案 > 在php中发送带有用户信息的邮件

问题描述

hii evryone plz我需要帮助我想知道为什么我的代码只发送附件而不发送我的联系表的其他信息这是我的代码php这是我的代码附件发送正确但其他信息不是我不使用任何框架这只是 php 我使用带有附件的联系表格

error_reporting(E_ALL); 
ini_set("display_errors", 1); //Affichage des erreurs

//Eviter les insertions de scripts dans le cas d'un e-mail HTML
$nom = htmlentities($_POST['firstname']);
$email = htmlentities($_POST['email']);
$nom=$_POST['firstname'];
//$prenom = htmlentities($_POST['prenom']);

//Verifie si le fournisseur prend en charge les r
if(preg_match("#@(hotmail|live|msn).[a-z]{2,4}$#", $email)){
$passage_ligne = "\n";
}else{
$passage_ligne = "\r\n";
 }



  $email_to = "mon adresse email"; //Destinataire
  $email_subject = "Recrutement "; //Sujet du mail
  $boundary = md5(rand()); // clé aléatoire de limite

  $headers = "MIME-Version: 1.0\r\n"; 

  $headers.= "From: EA\r\n"; 
  $headers.= "Reply-To: EITA" . "\r\n";
  $headers.= "MIME-Version: 1.0" . $passage_ligne;
  $headers.= 'Content-Type: multipart/mixed; boundary='.$boundary .' '. 
  $passage_ligne;


   //Pièce jointe
   if(isset($_FILES["fichier"]) && $_FILES['fichier']['name'] != ""){ 
   //Vérifie sur formulaire envoyé et que le fichier existe
    $nom_fichier = $_FILES['fichier']['name'];

   $source = $_FILES['fichier']['tmp_name'];
   $type_fichier = $_FILES['fichier']['type'];
   $taille_fichier = $_FILES['fichier']['size'];

 if($nom_fichier != ".htaccess"){ //Vérifie que ce n'est pas un .htaccess
 if($type_fichier == "image/jpeg" 
 || $type_fichier == "image/pjpeg" 
 || $type_fichier == "application/pdf"){ //Soit un jpeg soit un pdf

   if ($taille_fichier <= 2097152) { //Taille supérieure à Mo (en octets)
  $tabRemplacement = array("é"=>"e", "è"=>"e", "à"=>"a"); //Remplacement des 
  caractères spéciaux

   $handle = fopen($source, 'r'); //Ouverture du fichier
   $content = fread($handle, $taille_fichier); //Lecture du fichier
    $encoded_content = chunk_split(base64_encode($content)); //Encodage
    $f = fclose($handle); //Fermeture du fichier
   //$message.='--'.$passage_ligne."\r\n";
   $email_message.="Content-Type: pdf; name=".$nom_fichier."\r\n";
    $email_message.="Content-Transfer-Encoding: BASE64"."\r\n";
    $email_message.="Content-Disposition: attachment; 
   filename=".$nom_fichier."\r\n\r\n"; 
   $email_message.= 
   chunk_split(base64_encode(file_get_contents($nom_fichier)))."\r\n";

   $email_message.='--'.$passage_ligne.'--'."\r\n";
   $email_message .= $encoded_content."n"; //Pièce jointe
   //$email_message .="Hello";

 }else{
 //Message d'erreur
  $email_message .= $passage_ligne ."L'utilisateur a tenté de vous envoyer 
 une pièce jointe mais celle ci était superieure à 2Mo.". $passage_ligne;
 }
 }else{
 //Message d'erreur
 $email_message .= $passage_ligne ."L'utilisateur a tenté de vous envoyer 
  une pièce jointe mais elle n'était pas au bon format.". $passage_ligne;
 }
 }else{
 //Message d'erreur
  $email_message .= $passage_ligne ."L'utilisateur a tenté de vous envoyer 
  une pièce jointe .htaccess.". $passage_ligne;
   }
   }
  $email_message .= $passage_ligne . "--" . $boundary . "--" . 
 $passage_ligne; //Séparateur de fermeture
 $msg.=$email_message.$nom."bonjour"; 
  if(mail($email_to,$email_subject, $msg, $headers)==true){ //Envoi du mail
  header('Location: index.php'); //Redirection
  }

  ?>

标签: php

解决方案


推荐阅读