login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Email komt onleesbaar aan (Opgelost)

Offline Jeurdi - 30/06/2009 22:34
Avatar van JeurdiNieuw lid Beste Sitemasters,

Ik zit een beetje met mijn handen in mijn haar. Ik heb een webshop systeem waar mensen (logisch) spullen kunnen kopen. Nu werkt het factuur systeem netjes, alleen krijgt de klant de facturen binnen in HTML. En ik snap niet hoe dat kan komen. Hij gebruikt Vista Outlook 2007. Dus ik denk dat de taal die ik meegeef in mijn headers niet kloppen of zoiets. Weet iemand hier iets over?

Dit krijgt mijn klant binnen in zijn email:



  1. Content-type: text/html; charset=iso-8859-1
  2. To: Joep <hoi@hoi.nl>
  3. From: Jeurdi <hoi@hoi.nl>
  4.  
  5.  
  6. <html><head><strong>FACTUUR</strong><head><br><br><body>
  7.  
  8. Deze e-mail is ter bevestiging van uw aankoop in onze webshop. U heeft de volgende producten bij ons bestelt:<br><br>
  9.  
  10. <table width="500" border="1" cellpadding="3">
  11. <tr>
  12. <td width="50%"><strong>Product</strong></td>
  13. <td width="25%"><strong>Aantal</strong></td>
  14. <td width="25%"><strong>Prijs excl BTW</strong></td>
  15. </tr>
  16. <tr>
  17. <td width="50%">5007 Halssieraad met turquase Hanger</td>
  18. <td width="25%">1</td>
  19. <td width="25%">&euro; 6,50</td>
  20. </tr>
  21. <tr>
  22. <td width="50%">5012 Halsketting met emaille hanger roze</td>
  23. <td width="25%">1</td>
  24. <td width="25%">&euro; 1,95</td>
  25. </tr>
  26. <tr>
  27. <td width="50%">5005 Halsketting met emaille hanger wit</td>
  28. <td width="25%">1</td>
  29. <td width="25%">&euro; 2,95</td>
  30. </tr>
  31. <tr>
  32. <td width="50%">7000 New Time Dames Quartz Horloge met Strass</td>
  33. <td width="25%">1</td>
  34. <td width="25%">&euro; 7,45</td>
  35. </tr>
  36. <tr>
  37. <td width="50%">7064 New Toime Dames Quartz Horloge met Strass</td>
  38. <td width="25%">1</td>
  39. <td width="25%">&euro; 7,45</td>
  40. </tr>
  41. <tr>
  42. <td width="50%">7015 New Time Dames Quartz Horloge</td>
  43. <td width="25%">1</td>
  44. <td width="25%">&euro; 6,45</td>
  45. </tr>
  46. <tr>
  47. <td width="50%">5014 Halssnoer met hanger antraciet met Strass-Steen</td>
  48. <td width="25%">1</td>
  49. <td width="25%">&euro; 3,25</td>
  50. </tr>
  51. <tr>
  52. <td width="50%">5036a Zilverkleurige Halssieraad met medaillon bruin</td>
  53. <td width="25%">1</td>
  54. <td width="25%">&euro; 3,00</td>
  55. </tr>
  56. <tr>
  57. <td width="50%">5013 Halsketting, touwtjesmodel met parels</td>
  58. <td width="25%">1</td>
  59. <td width="25%">&euro; 4,95</td>
  60. </tr>
  61. <tr>
  62. <td width="50%">5020 Halsketting met Kralen met verlenging </td>
  63. <td width="25%">1</td>
  64. <td width="25%">&euro; 3,75</td>
  65. </tr>
  66. <tr>
  67. <td width="50%">5027 Halssieraad Zilverkleurig mat </td>
  68. <td width="25%">1</td>
  69. <td width="25%">&euro; 6,95</td>
  70. </tr>
  71. <tr>
  72. <td width="50%">5029 Zilverkleurig Halssieraad met Grijs getinte Stenen</td>
  73. <td width="25%">1</td>
  74. <td width="25%">&euro; 7,95</td>
  75. </tr>
  76. <tr>
  77. <td width="50%">5035 Zilverkleurige Halsketting</td>
  78. <td width="25%">1</td>
  79. <td width="25%">&euro; 3,75</td>
  80. </tr>
  81. <tr>
  82. <td width="50%">5039 Zilverkleurige Halsketting met Groene Stenen</td>
  83. <td width="25%">1</td>
  84. <td width="25%">&euro; 5,75</td>
  85. </tr></table>


En daarbij is dit de code die dit doet versturen:


  1. //Assemble e-mail message(s)
  2. $email['message'] = '<html><head><strong>FACTUUR</strong><head><br><br><body>
  3.  
  4. Deze e-mail is ter bevestiging van uw aankoop in onze webshop. U heeft de volgende producten bij ons bestelt:<br><br>
  5.  
  6. <table width="500" border="1" cellpadding="3">
  7. <tr>
  8. <td width="50%"><strong>Product</strong></td>
  9. <td width="25%"><strong>Aantal</strong></td>
  10. <td width="25%"><strong>Prijs excl BTW</strong></td>
  11. </tr>';
  12.  
  13. while ($fetch = mysql_fetch_array($sql['products'])) {
  14. $product = $this->ProductDetails($fetch['product_id']);
  15. if (STOCK == true) {
  16. //Lower stock with amount of products
  17. mysql_query("UPDATE products SET stock = stock - " . $fetch['amount'] .
  18. " WHERE product_id='" . $product['product_id'] . "'") or die(mysql_error());
  19. }
  20. //$price = $product['price'] + (($product['price'] / 100) * $product['tax']);
  21. $price = $product['price'];
  22. $btw = $btw + $fetch['amount']*(($product['price'] / 100) * 19);
  23. $email['message'] .= '
  24. <tr>
  25. <td width="50%">' . $product['name'] . '</td>
  26. <td width="25%">' . $fetch['amount'] . '</td>
  27. <td width="25%">&euro; ' . number_format($price, 2,
  28. ',', '.') . '</td>
  29. </tr>';
  30. }
  31. $totaal = number_format($this->GetTotalPriceOfOrder($_SESSION['order_id'], false), 2);
  32. //$ver = round($totaal - $tryme,2);
  33. if ($totaal < 200) {
  34. $ver = number_format(VERZENDINGK,2);
  35. } else {
  36. $ver = number_format(0,2);
  37. }
  38. //$totaal = $totaal + $ver;
  39. $ontotaal = $this->GetTotalPriceOfOrder($_SESSION['order_id']) - $btw;
  40.  
  41. $email['message'] .= ' <tr>
  42. <td width="50%"><i>Verzendkosten</i></td>
  43. <td width="25%">&nbsp; </td>
  44. <td width="25%"><i>&euro;' . $ver . ',-</i></td>
  45. </tr>';
  46. $email['message'] .= '<tr>
  47. <td width="50%"><strong>Totaal BTW</strong></td>
  48. <td width="25%">&nbsp; </td>
  49. <td width="25%"><strong>&euro;' . number_format($btw,2) . ',-</strong></td>
  50. </tr>';
  51. $email['message'] .= ' <tr>
  52. <td width="50%">Totaal exl BTW</td>
  53. <td width="25%">&nbsp; </td>
  54. <td width="25%">&euro;' . number_format($ontotaal,2) .',-</td>
  55. </tr>';
  56. $email['message'] .= ' <tr>
  57. <td width="50%"><strong>Totaal incl BTW</strong></td>
  58. <td width="25%">&nbsp; </td>
  59. <td width="25%"><strong>&euro;' . $totaal .',-</strong></td>
  60. </tr>';
  61. $email['message'] .= '</table>
  62. <br><br>Referentie: <br>
  63. '.$referentie.'
  64. <br><br>Commentaar: <br>
  65. '.$commentaar.'
  66. <br><br>
  67.  
  68. <strong>Adresgegevens</strong><br>
  69. Uw producten worden naar het volgende adres verstuurt:<br><br>
  70.  
  71. ' . $OrderData['name'] . '<br>
  72. ' . $OrderData['address'] . '<br>
  73. ' . $OrderData['zipcode'] . ' ' . $OrderData['place'] . '<br><br>';
  74.  
  75. if ($ideal == true) {
  76. $email['message'] .=
  77. 'U heeft iDEAL gekozen om te betalen. Uw bestelling wordt zo snel mogelijk verstuurt.';
  78. } else {
  79. $email['message'] .= '
  80. <BR>
  81. ---------------------------------------------------------
  82. <BR>
  83.  
  84. Mededeling: Factuur nr.' . $_SESSION['order_id'] . '.
  85. <BR>
  86. <BR>
  87. Na ontvangst van uw betaling zal uw bestelling verzonden worden.</body></html>';
  88. }
  89.  
  90. //Mail to the customer
  91. $email['subject'] = "Bevestiging van order " . $_SESSION['order_id'];
  92.  
  93. //Set the address
  94. $email['to'] = $user['email'];
  95.  
  96. // To send HTML mail, the Content-type header must be set
  97. $email['headers'] = 'MIME-Version: 1.0' . "\r\n";
  98. $email['headers'] .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  99.  
  100. // Additional headers
  101. $email['headers'] .= "To: " . $user['name'] . " <" . $user['email'] . ">" . "\r\n";
  102. $email['headers'] .= 'From: ' . WEBSHOP_NAME . ' <' . WEBSHOP_EMAIL . '>' . "\r\n";
  103. $email['headers'] .= 'Bcc: ' . WEBSHOP_EMAIL . "\r\n";
  104.  
  105. // Mail it
  106. mail($email['to'], $email['subject'], $email['message'], $email['headers']);
  107.  
  108. //Set the order to confirmed
  109. mysql_query("UPDATE orders_general SET confirmed='1' WHERE order_id='" . $_SESSION['order_id'] .
  110. "'") or die(mysql_error());
  111.  
  112. //Delete cart products
  113. mysql_query("DELETE FROM cart WHERE userid='" . $_SESSION['userid'] . "'") or



Alvast echt heel erg bedankt, kan hier weinig over vinden wat mij echt verder kan helpen!

Groeten Jeurdi

10 antwoorden

Gesponsorde links
Offline Bart - 30/06/2009 22:40
Avatar van Bart PHP expert http://www.goog...mp;spell=1

Met bovenstaande link moet je er uit komen 
Offline Jeurdi - 01/07/2009 13:02 (laatste wijziging 01/07/2009 14:09)
Avatar van Jeurdi Nieuw lid Hmmm ik heb even gekeken op die websites en volgensmij doe ik precies hetzelfde wat ik ook doe. Bij mij (in gmail) komt het netjes aan in tabellen.

Maar op de computer van de klant daar staat het in HTML en niet in een tabel. Hij gebruik Vista Outlook 2007. Moet ik de taal voor Outlook 2007 anders instellen misschien?
Offline ArieMedia - 01/07/2009 14:21
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Jeurdi schreef:
Hmmm ik heb even gekeken op die websites en volgensmij doe ik precies hetzelfde wat ik ook doe. Bij mij (in gmail) komt het netjes aan in tabellen.

Maar op de computer van de klant daar staat het in HTML en niet in een tabel. Hij gebruik Vista Outlook 2007. Moet ik de taal voor Outlook 2007 anders instellen misschien?
Heeft deze klant wel aanstaan dat hij/zei HTML-mail wil ontvangen?
Offline Jeurdi - 01/07/2009 14:30
Avatar van Jeurdi Nieuw lid Ja daar heb ik als eerste voor gekeken. Maar ik heb gelezen dat Outlook 2007 niet IE gebruikt om de mail te lezen maar WORD.. Iets wat ik niet 100% zeker weet maar dat kan heel misschien duiden op het probleem. Weet iemand hier iets meer over?

groetjes Jeurdi
Offline ArieMedia - 01/07/2009 14:38
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Jeurdi schreef:
Ja daar heb ik als eerste voor gekeken. Maar ik heb gelezen dat Outlook 2007 niet IE gebruikt om de mail te lezen maar WORD.. Iets wat ik niet 100% zeker weet maar dat kan heel misschien duiden op het probleem. Weet iemand hier iets meer over?

groetjes Jeurdi
Om zulke dingen te weten zal ik als ik jou was op de microsoft site kijken, daar staat vast wel informatie op over outlook.
Offline Ultimatum - 01/07/2009 14:40
Avatar van Ultimatum PHP expert Dit probleem heb ik ook gehad. Je kan een beetje zien waar het aan ligt aan de hand van wat er als eerste in je mail staat. Grootte kans dat daar het probleem ligt namelijk.

Op regel 98 heb je dit staan:
Citaat:
Content-type: text/html; charset=iso-8859-1' . "rn";

Alles na charset moet tussen quotes staan:
Citaat:
Content-Type:text/html; charset="iso-8859-1"


Als bovenstaande het probleem niet oplost kijk dan eens naar mijn topic. Misschien heb je daar wat aan, dat er dingen zijn die jij niet hebt of zoals met charset een kleine fout in hebt.

Niet om te zeuren, maar grote lappen tekst moeten op plaatscode .
Offline Jeurdi - 01/07/2009 21:40
Avatar van Jeurdi Nieuw lid Hoi Ultimatum,

Ik heb het veranderd, bedankt voor je bericht. Helaas kom ik er nu achter dat het niet gaat om Outlook maar om Windows mail. Iemand 'hier' mee bekend dat tabellen niet gelezen worden als tabellen bij de ontvangen bestanden??

Groeten Jeurdi
Offline marten - 01/07/2009 21:41
Avatar van marten Beheerder Neus hier eens rond

http://www.email-standards.org/
Offline Ultimatum - 01/07/2009 21:43
Avatar van Ultimatum PHP expert Heb je het aangepast zoals ik zei, en krijg je nu nog steeds de e-mail op dezelfde manier binnen, dus dat hij begint met Content-type: text/html; charset=iso-8859-1? Of doet hij dat nu wel goed?
Offline Jeurdi - 02/07/2009 16:00
Avatar van Jeurdi Nieuw lid Nee hij gaf steeds nog HTML code ook na jou verandering Ultimatum. Ik ben met de klant alle instellingen doorgelopen en er stond er eentje verkeer. En nu werkt het netjes!

Ik wil iedereen bedanken voor het helpen en mee denken. Ik heb nog een vraag over micropayment websites, maar die post ik even in een nieuw topic.

Voor dit topic bedankt en opgelost!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.214s