OVH Cloud OVH Cloud

Mail avec piece jointe

1 réponse
Avatar
Gilles
Bonjour,
je souhaite envoyer un mail avec pièce jointe, un petit fichier texte.
J'utilise le code ci-dessous, malheureusement, dans mes tests, si la pièce
jointe est bien présente et lisible à l'arrivée, le corps du message
n'apparaît pas.
Merci pour votre aide.
Gilles.
-----------------------------------------------
$subject="Votre fichier ";
$content="Bonjour,......";

$fic = "test.php";
if (file_exists($fic))
{
$entetedate = date( "D, j M Y H:i:s");
$headers = "From: webmaster@site.com\n";
$headers .= "Date: $entetedate \n";

$taille = filesize($fic);
$type = filetype($fic);

//lecture du fichier
$PtFicAttache = fopen($fic,"r");
$FicDansChaine = fread($PtFicAttache, $taille);
fclose($PtFicAttache);

//encodage en base64
$fic_attache = base64_encode($FicDansChaine);
//scinder la chaîne en plus petit morceaux
$fic_attache = chunk_split($fic_attache, 64 , "\r\n");

//Création de l'en-tête du fichier attaché.
$EnteteFicAttache = "\n--some random text\nContent-Type: ".$type.";\n
name=\"".$fic."\"\n"."Content-Transfer-Encoding:
base64\nContent-Disposition: attachment;\n filename=\"".$fic."\"\n\n";

//attacher le fichier et indiquer l'en-tête du fichier attaché
$content .= $EnteteFicAttache.$fic_attache;

//ajouter l'en-tête générale du mail
$headers .= "MIME-Version: 1.0\nContent-Type:
multipart/mixed;".chr(13).chr(10).chr(9)."boundary=\"some random text\"\n";
mail($email, $subject, $content, $headers);
-------------------------------------------------

1 réponse

Avatar
Nicolas
On Sat, 04 Oct 2003 19:04:15 +0000, Gilles wrote:

Bonjour,
je souhaite envoyer un mail avec pièce jointe, un petit fichier texte.
J'utilise le code ci-dessous, malheureusement, dans mes tests, si la pièce
jointe est bien présente et lisible à l'arrivée, le corps du message
n'apparaît pas.
Merci pour votre aide.
Gilles.


Tiens voilà un petit lien vers une lib qui te
permettra d'envoyer des mails avec pièces jointes.

http://www.progweb.com/modules/cours/consult.php?own=4&numR

--
Nicolas