Multidesk.be » Forums » PHP » [mail ()]mail met attachment

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Kilian op woensdag 8 oktober 2008 om 16:12:25.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Hallo,

Ik wil een mail sturen met een attachment, maar er loopt iets mis. Als ik de mail aankrijg in GMAIL dan staat er bij attachments: noname. Ik kan deze ook niet downloaden. Stuur ik het bericht naar mijn ander emailadres, en bekijk ik het bericht mat atmail, dan krijg ik het volgende:
"MIME message decoding error: incomplete message body part"

De gedownloade mails zijn dan weer wel zoals ze moeten zijn in thunderbird.
Kunnen jullie me helpen?

Hieronder nog (een stukje) van de code:

PHP
  1.  
  2. //generade a unique id
  3. $unique = md5(uniqid(time()));
  4.  
  5. //message
  6. $message = "het berichtje...";
  7.  
  8. //maak headers aan
  9. //form header
  10. $headers = "From: Auto backup <automated@".domein.">\r\n";
  11. //terug sturen naar een niet bestaand mail adress (noreply@domein.nl)
  12. $headers .= "Reply-To: Auto backup <automated@".domein.">\r\n";
  13. //vertel dat het een mine versie is
  14. $headers .= "MIME-Version: 1.0\r\n";
  15. //email bestaat uit meerdere  bestanden dus vertel wat de scheidings teken is en dat het een multipart is
  16. $headers .= "Content-type: multipart/mixed; boundary=\"".$unique."\"\r\n";
  17. //we zenden een attachment mee
  18. $headers .= "Content-Disposition:  attachment\r\n";
  19.  
  20. //generenen een body. Dit is een multi part gezeik
  21. $body.= "This is a multi-part message in MIME format.\r\n";
  22. $body.= "\r\n";
  23. //boundary
  24. $body.= "--".$unique."\r\n";
  25. //content type + charater set (iso in dit geval)
  26. $body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
  27. //codering (7 bit)
  28. $body.= "Content-Transfer-Encoding: 7bit\r\n";
  29. $body.= "\r\n";
  30. //het bericht
  31. $body.= $message ."\r\n";
  32. //boundaty
  33. $body.= "--".$unique."\r\n";
  34. //content type + naam bestand (database.sql)
  35. $body .= "Content-Type: application/octet-stream; name=database.sql\r\n";
  36. //codering
  37. //$body .= "Content-Transfer-Encoding: base64\r\n";
  38. //als bijlage toegevoegd
  39. $body.= "Content-disposition: attachment\r\n";
  40. $body .= "\n";
  41. //de inhoud van het bestand
  42. $body .= chunk_split(base64_encode($sql_backup)) . "\r\n";
  43. //zet alles op email!
  44. //hier kan wat tijdsverschil in zitten!
  45. mail(email,'Mysql backup '.date('d-m-Y H:i:s'),$body,$headers);
  46.  


Alvast bedankt
Kilian
^ Reactie #1 geschreven door Martijn op woensdag 8 oktober 2008 om 16:38:38.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Heb zelf niet zoveel ervaring met dit soort zaken, maar ben je zeker dat het niet gewoon aan het downloaden van het bericht ligt?

Misschien eens even snel een ander voorbeeld proberen?
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #2 geschreven door Kilian op woensdag 8 oktober 2008 om 17:01:28.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Dit werkt ook niet. Bij gmail krijg ik niets van teskt, of attatchments, bij thunderbird krijg ik het bestand en de HTML tekst.
Bij mijn Atmail krijg ik weer dezelfde error: MIME message decoding error: incomplete message body part
Ik heb het letterlijk overgenomen van die andere site.
Ik heb verder geen idee hoe het zou moeten zijn.
^ Reactie #3 geschreven door Kilian op woensdag 8 oktober 2008 om 19:02:45.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Het is me gelutk dmv dit script. mVraag me niet wat ik misdeed, maar het is allemaal in orde nu.
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen