Page 1 sur 1

Fichier non attaché dans l'envoi par mail()

Posté : 06 juil. 2010, 12:08
par Thais781
Bonjour,

J'ai un formulaire avec entrée d'un fichier joint (codé en html) ... jusque la pas de pb.
J'envoie les réponses de ce formulaire avec fichier joint via mail() (en PHP)
Je reçois bien le mail avec toute les infos sauf que le fichier chargé n'est pas joint au mail (en pièce jointe) mais est présent dans le corps du texte donc illisible ....

Si quelqu'un a une idée

Merci d'avance

Résultat :
Nom : MonNom
Prénom : MonPrenom
Téléphone : 0120304050
Email: [email protected]
Métier : Process

Commentaires : Salut

-------=a98c8098702d571f889cace7f8e4d600
Content-Type: image/png; name="Test.doc"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="Test.doc"

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAIgAAAAAAAAAA
EAAAJAAAAAEAAAD+////AAAAACEAAAD/////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////s
pcEAcWAJBAAA8BK/AAAAAAAAEAAAAAAABgAABQgAAA4AYmpianFQcVAAAAAAAAAAAAAAAAAAAAAA
AAAMBBYALhAAABM6AQATOgEABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAA
AAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAAKQAAAAAAKgDAAAAAAAAqAMAAKgD
AAAAAAAAqAMAAAAAAACoAwAAAAAAAKgDAAAAAAAAqAMAABQAAAAAAAAAAAAAALwDAAAAAAAA4AMA
AAAAAADgAwAAAAAAAOADAAAAAAAA4AMAAAwAAADsAwAADAAAALwDAAAAAAAALQYAALYAAAAEBAAA
AAAAAAQEAAAAAAAABAQAAAAAAAAEBAAAAAAAAAQEAAAAAAAABAQAAAAAAAAEBAAAAAAAAAQEAAAA
AAAArAUAAAIAAACuBQAAAAAAAK4FAAAAAAAArgUAAAAAAACuBQAAAAAAAK4FAAAAAAAArgUAACQA
AADjBgAAaAIAAEsJAAB+AAAA0gUAABUAAAAAAAAAAAAAAAAAAAAAAAAAqAMAAAAAAAAEBAAAAAAA



Ci-dessous mon code PHP :
<?
ini_set('display_errors', 1);
error_reporting(-1);

$Nom = $_POST['Candidature_Nom'];
$Prenom = $_POST['Candidature_Prenom'];
$Telephone = $_POST['Candidature_Telephone'];
$Email = $_POST['Candidature_Email'];
$Metier = $_POST['Candidature_Metier'];
$Commentaires = $_POST['Candidature_Commentaires'];
$to = "[email protected]";

$name_file = $_FILES['Candidature_CV']['name'];

$source=$_FILES['Candidature_CV']['tmp_name'];

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

$extension=get_extension($name_file);

$type="text/plain";

if($type=="doc")
{
$type="text/vnd.ms-word";
}
else if($type=="xls")
{
$type="text/vnd.ms-excel";
}

$type2="image/png";

if($extension=="gif")
{
$type2="image/gif";
}
else if($extension=="bmp")
{
$type2="image/bmp";
}

function get_extension($filename)
{
$parts = explode('.',$filename);
$last = count($parts) - 1;
$ext = $parts[$last];
return $ext;
}

//----------------------------------
// Construction de l'entête
//----------------------------------

$boundary = "-----=".md5(uniqid(rand()));
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";

$msg = "Nom :\t$Candidature_Nom\n";
$msg .= "Prénom :\t$Candidature_Prenom\n";
$msg .= "Téléphone :\t$Candidature_Telephone\n";
$msg .= "Email:\t$Candidature_Email\n";
$msg .= "Métier :\t$Candidature_Metier\n\n";
$msg .= "Commentaires :\t$Candidature_Commentaires\n\n";

$subject = "Renseignements";

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 = $to;
$expediteur = $_POST['Candidature_Email'];
$reponse = $expediteur;

mail($destinataire, $subject, $msg,"From: $Candidature_Email");
echo "Mail envoyé à $destinataire";
}

if($name_file!="")
{
unlink($name_file);
}
?>