function fctMail($szTo , $szSujet , $szMessage , $szFichier , $szTypeMime , $szNom , $szReply , $szFrom)
{
// szTo : adresse EMail du destinataire
// $szSujet : sujet du message
// szFichier : nom et chemin du fichier à attacher
// $szTypeMime : type MIME, exemple : image/gif, voir http://www.commentcamarche.net/systemes/mime.php3
// $szNom : nom du fichier attaché (celui qui apparaitra dans l'EMail
// szReply : adresse EMail de réponse
// szFrom : adresse EMail expéditeur
$szLimite = "_parties_".md5(uniqid (rand()));
$szMail_mime = "Date: ".date("l j F Y, G:i")."\n";
$szMail_mime .= "MIME-Version: 1.0\n";
$szMail_mime .= "Content-Type: multipart/mixed;\n";
$szMail_mime .= " boundary=\"----=$szLimite\"\n\n";
//Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML
$szTexte = "This is a multi-part message in MIME format.\n";
$szTexte .= "Ceci est un message est au format MIME.\n";
$szTexte .= "------=$szLimite\n";
$szTexte .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$szTexte .= "Content-Transfer-Encoding: 7bit\n\n";
$szTexte .= $szMessage;
$szTexte .= "\n\n";
//le fichier
$szAttachement = "------=$szLimite\n";
$szAttachement .= "Content-Type: $szTypeMime; name=\"$szNom\"\n";
$szAttachement .= "Content-Transfer-Encoding: base64\n";
$szAttachement .= "Content-Disposition: attachment; filename=\"$szNom\"\n\n";
$idFic = fopen( $szFichier, "r" );
$bufFic = fread( $idFic, filesize( $szFichier ) );
fclose( $idFic );
$szAttachement .= chunk_split(base64_encode($bufFic));
$szAttachement .= "\n\n\n------=$szLimite\n";
mail($szTo, $szSujet, $szTexte.$szAttachement, "Reply-to: $szReply\nFrom: $szFrom\n".$szMail_mime);
}
?>
Apellée de la manière suivante :<?php
include ("../Outils/fctphp_mail.php");
fctMail("[email protected]" , "Essai avec fichier attaché", "Corps du message" , "T06A01024SF.pdf" , "application/pdf" , "Devis.pdf" , "[email protected]" , "[email protected]");
?>
J'ai 1 problème :Un fichier vide de 59 octet ATT00024.TXT est attaché !!! D'ou sort il ?
Par ailleurs, je ne retrouve pas le contenu de szReply !
Merci de votre aide
Stéphane