PHP mail function envois un attachement vide

WRInaute discret
Hello a tous,

J'essaye d'envoyer de mon site un email avec un attachement en php, mais j'ai quelques problemes...

Je recois bien le email, le titre est bon, l'expediteur est bon, l'attachement est la...mais:
1. Il n'y a pas de texte(message) dans mon email
2. L'attachement est vide 0.0kb

Voici mon code, si jamais vous pensez pouvoir m'aider..
Code:
<?php 

function mail_attachment($filename, $path, $mailto, $from_mail, $from_name, $replyto, $my_subject, $my_message) {
    $file = $path.$filename;
    $file_size = filesize($file);
    $handle = fopen($file, "r");
    $content = fread($handle, $file_size);
    fclose($handle);
    $content = chunk_split(base64_encode($content));
    $uid = md5(uniqid(time()));
    $name = basename($file);
    $header = "From: ".$from_name." <".$from_mail.">\r\n";
    $header .= "Reply-To: ".$replyto."\r\n";
    $header .= "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
    $header .= "This is a multi-part message in MIME format.\r\n";
    $header .= "--".$uid."\r\n";
    $header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
    $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
    $header .= $message."\r\n\r\n";
    $header .= "--".$uid."\r\n";
    $header .= "Content-Type: text/plain; name=\"".$filename."\"\r\n"; // use diff. tyoes here 
    $header .= "Content-Transfer-Encoding: base64\r\n";
    $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
    $header .= $content."\r\n\r\n";
    $header .= "--".$uid."--";
    if (mail($mailto, $my_subject, $my_message, $header)) {
        echo  "mail send ... OK"; // or use booleans here
    } else {
        echo  "mail send ... ERROR!";
    }
}


$my_file = "le_fichier.txt";
$my_path = $_SERVER['DOCUMENT_ROOT']."";
$my_name = "Kheops International";
$my_mail = "admin@monsite.ca";
$my_replyto = "admin@monsite.ca";
$my_subject = "NEW ORDER from customer";
$my_message = "Please find a new web order in attachement.";
mail_attachment($my_file, $my_path, "moi@hotmail.com", $my_mail, $my_name, $my_replyto, $my_subject, $my_message);
?>

Merci
:D
 
WRInaute discret
UsagiYojimbo a dit:
Quitte a gérer de l'envoi de mail, et pour le faire de manière simple, rien de tel que phpmailer : http://phpmailer.worxware.com/

Daccord mais habituellement je devrais etre cappable de le faire avec mon code non? J'ai besoins d'inserrer ce code dans oscommerce et donc installer phpmailer me semble un peu compliquer... quelqu'un sais pourquoi mon attachemnt arrive vide?

Merci
 
Discussions similaires
Haut