Bonjour,
sur une page web, j'ai un formulaire, je récupéré les données que j'écris dans une feuille "excel" (pour que tout le monde comprenne.), en fait c'est du coma separated value
Je veux recevoir ce formulaire CSV par email en tant que piece jointe.
la feuille se nomme : 20150215-test.csv
Apres la page php m'envoie cette feuille csv par email.
PROBLEME : le fichier n'est pas en piece jointe, mais les caractères sont en vrac dans le mail....
Voici ce que je vois dans l'email reçu:
--PHP-mixed-239191cd5886d9ac2498b082ce279c9f
Content-Type: application/vnd.ms-excel; name=20150215-test.csv
Content-Transfer-Encoding: base64
Content-Disposition: attachment
MjAxNTAyMTRfMTBfMThfNDIuY3N2O3RpdHJlO2N1c19jaXY7Y3VzX25vbTtjdXNfZnVuYztjdXNf
dGVsO2N1c19lbWFpbDtwcmpfY291bnRyeTtwcmpfZW5kdXNlcjtwcmpfc3RhdHVzO3Byal9sZWFk
dGltZTtwcmpfYW1sLWF2bDtwcmpfZGVhZGxpbmU7YXBwX21hcmtldDthcHBfcHJlc3N1cmU7YXBw
X3RlbXA7YXBwX3NlcnZpY2U7dmFsX2NvbS1jb2RlO3ZhbC10YWc7dmFsLXF0eTt2YWwtcGlwaW5n
LWNsYXM7dmFsLW5hY2U7VmFsLVR5cGU7cHZhbC1ib25uZXQ7dmFsLUROO3ZhbC1ib3JlO3ZhbC1y....... (il y en a deux pages ! )
Le souci doit se situer SOIT à la génération du mail, soit à l'entête du mail....
Voici mon code :
<?php
//$strPath = "";
$filName = $myFile;
//define the receiver of the email
$to = 'xxxx@xxxxx.xx';
//define the subject of the email
$subject = $myFile;
//create a boundary string. It must be unique
//so we use the MD5 algorithm to generate a random hash
$random_hash = md5(date('r', time()));
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: xxxxemeteur@xxxx.be\r\nReply-To: xxxx@xxxxx.xx";
//add boundary string and mime type specification
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
//read the atachment file contents into a string,
//encode it with MIME base64,
//and split it into smaller chunks
$attachment = chunk_split(base64_encode(file_get_contents($filName)));
//define the body of the message.
ob_start(); //Turn on output buffering
?>
Question subsidiaire :
sur iphone, pas de piece jointe : du charabia dans le texte...
sur gmail, pas de piece jointe : du charabia dans le texte
sur outlook 2010 : le mail est parfait et la piece jointe .csv est bien attaché...
Toutes les pistes d'aides sont les bienvenues....
sur une page web, j'ai un formulaire, je récupéré les données que j'écris dans une feuille "excel" (pour que tout le monde comprenne.), en fait c'est du coma separated value
Je veux recevoir ce formulaire CSV par email en tant que piece jointe.
la feuille se nomme : 20150215-test.csv
Apres la page php m'envoie cette feuille csv par email.
PROBLEME : le fichier n'est pas en piece jointe, mais les caractères sont en vrac dans le mail....
Voici ce que je vois dans l'email reçu:
--PHP-mixed-239191cd5886d9ac2498b082ce279c9f
Content-Type: application/vnd.ms-excel; name=20150215-test.csv
Content-Transfer-Encoding: base64
Content-Disposition: attachment
MjAxNTAyMTRfMTBfMThfNDIuY3N2O3RpdHJlO2N1c19jaXY7Y3VzX25vbTtjdXNfZnVuYztjdXNf
dGVsO2N1c19lbWFpbDtwcmpfY291bnRyeTtwcmpfZW5kdXNlcjtwcmpfc3RhdHVzO3Byal9sZWFk
dGltZTtwcmpfYW1sLWF2bDtwcmpfZGVhZGxpbmU7YXBwX21hcmtldDthcHBfcHJlc3N1cmU7YXBw
X3RlbXA7YXBwX3NlcnZpY2U7dmFsX2NvbS1jb2RlO3ZhbC10YWc7dmFsLXF0eTt2YWwtcGlwaW5n
LWNsYXM7dmFsLW5hY2U7VmFsLVR5cGU7cHZhbC1ib25uZXQ7dmFsLUROO3ZhbC1ib3JlO3ZhbC1y....... (il y en a deux pages ! )
Le souci doit se situer SOIT à la génération du mail, soit à l'entête du mail....
Voici mon code :
<?php
//$strPath = "";
$filName = $myFile;
//define the receiver of the email
$to = 'xxxx@xxxxx.xx';
//define the subject of the email
$subject = $myFile;
//create a boundary string. It must be unique
//so we use the MD5 algorithm to generate a random hash
$random_hash = md5(date('r', time()));
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: xxxxemeteur@xxxx.be\r\nReply-To: xxxx@xxxxx.xx";
//add boundary string and mime type specification
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
//read the atachment file contents into a string,
//encode it with MIME base64,
//and split it into smaller chunks
$attachment = chunk_split(base64_encode(file_get_contents($filName)));
//define the body of the message.
ob_start(); //Turn on output buffering
?>
Question subsidiaire :
sur iphone, pas de piece jointe : du charabia dans le texte...
sur gmail, pas de piece jointe : du charabia dans le texte
sur outlook 2010 : le mail est parfait et la piece jointe .csv est bien attaché...
Toutes les pistes d'aides sont les bienvenues....