Envoi de mail avec piece jointe .xls

Jeanette -  
 Jeanette -
Bonjour,

je travaille sur une application PHP/MySQL.
J'affiche un tableau grace à une requete MySQL. J'arrive independement l'un de l'autre a exporter ce tableau dans une feuille Excel et à utiliser la fonction mail.

Seulement, je voudrais envoyer le fichier Excel par mail. Pour cela j'ai fais quelques recherches sur internet et j'ai trouvé un code bien expliqué ici :

https://www.phpfacile.com/apprendre_le_php/envoyer_un_mail_en_php/2

J'ai essayé de reproduire cette méthode, mon envoi de mail s'effectue bien mais le message ne s'affiche pas et la piece jointe existe mais est vide.

Est-ce vraiment possible d'à la fois créer le fichier .XLS, le lire, le mettre en pièce jointe?

Merci de vos réponses

A voir également:

1 réponse

Jeanette
 
Pour plus de précision voici une partie de mon code :

if($nom_agent=="TROUFLEAU")
{
$boundary = "-----=".md5(uniqid(rand()));
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";

$msg = "Je vous informe que ce message est au format MIME 1.0 multipart/mixed.\r\n";

$msg .="--boundary\r\n";
$msg .="Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
$msg .="Content-Transfert-Encoding:8bits\r\n";
$msg .="\r\n";
$msg .="Ceci est un message automatique, veuillez ne pas y répondre.\r\n";
$msg .="\r\n";

$reqfinale = "SELECT id, id_evenement, numTicket, prioriteTraitement, idUn, etat, date_intervention, nom_agent, prenom
FROM eds_actif_jointure
WHERE nom_agent='TROUFLEAU'"
or die ("impossible dexecuter la requete finale");
$res = mysql_query($reqfinale) or die("requete incorrecte");
$nb_init = mysql_num_rows($res);
$file = "eds_actif_$nom_agent.xls";
echo "ID\t MCMT\t OCEANE\t PRIORITE\t DATE_INT\t SGTQS\t ETAT\t NOM\t PRENOM";

while($row = mysql_fetch_array($res)){

$id = $row['id'];
$id_evenement = $row['id_evenement'];
$numTicket = $row['numTicket'];
$prioriteTraitement = $row['prioriteTraitement'];
$date_intervention = substr($row[date_intervention],8,2)."/".substr($row[date_intervention],5,2)."/".substr($row[date_intervention],0,4);
$idUn = $row['idUn'];
$etat = $row['etat'];
$nom_agent = $row['nom_agent'];
$prenom = $row['prenom'];

echo "\n$id\t$id_evenement\t$numTicket\t$prioriteTraitement\t$date_intervention\t$idUn\t$etat\t$nom_agent\t$prenom";

}
echo "\n";

$fp = fopen($file, "rb");
$attachement = fread($fp, filesize($file));
fclose(fp);

$attachement = chunk_split(base64_encode($attachment));

$msg .="--$boundary\r\n";
$msg .="Content-type: text/xml; name=\"$file\"\r\n";
$msg .="Content-Transfert-Encoding: base64\r\n";
$msg .="Content-Disposition: inline; filename=\"$file\"\r\n";
$msg .="\r\n";
$msg .= $attachment . "\r\n";
$msg .="\r\n\r\n";
$msg .="--$boundary--\r\n";

$subject='RAPPEL-Clôture des océanes';
$expediteur = "actipems.mt@orange-ftgroup.com";
$reponse = $expediteur;
echo "Ce script envoi un mail avec fichier attache ? $expediteur";

$reqmail = mysql_query ("SELECT DISTINCT email FROM eds_actif_jointure WHERE nom_agent='TROUFLEAU'") or die ("impossible d'executer la requete finale");
while ($row = mysql_fetch_row($reqmail))
{
mail($row[0], $subject, $msg, "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
$erreur=2;
}
}
0