j'utilise (depuis un moment deja) la classe writeexcel et php pour générer et envoyer automatiquement des fichiers excel
en pièce jointe via la fonction mail()
Ca marche plutot très bien, mais un client utilise lotus notes et reçoit le mail sans pièce jointe,
et avec le code illisible du fichier inclus dans le corps du mail
pour info, si j'envoie manuellement le fichier en pièce jointe via outlook, ça marche
ce serait donc le code d'envoi automatique qui ne fonctionne pas
Devrais je changer les headers d'envoi ?
(inutile de dire que le client n'a pas l'intention de changer sa config)
ça n'a aucun rapport avec WriteExcel, c'est ta façon de générer les en-têtes du mail qui n'est pas correcte.
Il nous faudrait donc voir ces en-têtes pour pouvoir essayer de t'aider.
bonjour
merci pour ta reponse
voila les entetes qui marchent pour tous les fichiers que j'envoie
les variables en majuscules sont récupérées dans une base de données
//-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//----------------------------------------------
$frontiere = '-----=' . md5(uniqid(mt_rand()));
//-----------------------------------------------
// HEADERS DU MAIL
//-----------------------------------------------
$headers = 'From: "Société <'.$EXP.'>'."\n";
$headers .= 'Return-Path: <'.$reponse.'>'."\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';
//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
$mail = 'This is a multi-part message in MIME format.'."\n\n";
$mail .= '--'.$frontiere."\n";
$mail .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
$mail .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$mail .= $MESSAGE."\n\n";
$mail .= '--'.$frontiere."\n";
//-----------------------------------------------
// FORMAT de fichier
//-----------------------------------------------
if($FORMAT=='CSV' || $FORMAT=='XLS')
{$mail.= "Content-Type: text/vnd.ms-excel; name=$FICHIER"."\n";}
if($FORMAT=='TXT')
{$mail.= "Content-Type: text/plain; name=$FICHIER"."\n";}