Signaler

{php} problème envoi email fichier joint [Résolu]

Posez votre question kalimbra 471Messages postés samedi 22 mars 2008Date d'inscription 7 octobre 2014 Dernière intervention - Dernière réponse le 20 nov. 2009 à 08:19
Bonjour,

je suis en train de programmer un script me permettant de m'envoyer des logs compressés via email en fichier attaché..

Le problème c'est que pour le moment je compresse les logs dans le même répertoire que là où se trouvent les logs. Du coup me fichiers joints sont du genre "../Logs/LogLogin.txt".

Quand je m'envois les emails,je les reçois, mais les logs compressés sont inline et pas attachés .Serait ce du au filename du fichier qui comprend le chemin complet ?


$FileCompressed = "../../Logs/LogLoginSite".$Date.".bz2" ;


// 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";
// Construction du message proprement dit
$msg = $message."\r\n";
// 1ère partie du message
// Le texte
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$msg .= "Ceci est un mail avec 1 fichier joint: ".$FileCompressed."\r\n";
$msg .= "\r\n";
// 2ème partie du message
// fichier (attachment)
$file = $FileCompressed;
$fp = fopen($file, "rb");
$attachment = fread($fp, filesize($file));
fclose($fp);
$attachment = chunk_split(base64_encode($attachment));
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: application/x-bzip; name=\"$file\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-Disposition: attachment; filename=\"$file\"\r\n";
$msg .= "\r\n";
$msg .= $attachment . "\r\n";
$msg .= "\r\n\r\n";
$msg .= "--$boundary--\r\n";
$destinataire = "t.arnould@ajm.lu";
$expediteur   = "siteweb@ifbl.lu";
$reponse      = $expediteur;
$Subject = "Log : ".$FileCompressed;
mail($destinataire,
     $Subject,
     $msg,
     "Reply-to: $reponse\r\nFrom: $destinataire\r\n".$header);
Afficher la suite 
Utile
+0
moins plus
En fin de compte je me réponds à moi même.. pas de "\r \n" mais uniquement des "\n" et ça fonctionne.
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !