Envoi EMail
Posté : 12 mai 2006, 21:13
Aidé par les sources de NEXEN, j'ai préparé cette fonction pour envoyer un EMail avec un fichier attaché.
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
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