How to embed html table into the body of email

Posted by Michael Mao on Stack Overflow See other posts from Stack Overflow or by Michael Mao
Published on 2010-04-01T05:38:49Z Indexed on 2010/04/01 6:03 UTC
Read the original article Hit count: 291

Filed under:
|

Hi all:

I am sending info to target email via PHP native mail() method right now. Everything else works fine but the table part troubles me the most. See sample output :

Dear Michael Mao :
Thank you for purchasing flight tickets with us, here is your receipt :

Your tickets will be delivered by mail to the following address :
Street Address 1 : sdfsdafsadf sdf
Street Address 2 :  N/A
City  : Sydney State : nsw Postcode : 2
Country : Australia
Credit Card Number : *************1234

Your purchase details are recorded as :

<table><tr><th class="delete">del?</th><th class="from_city">from</th><th class="to_city">to</th><th class="quantity">qty</th><th class="price">unit price</th><th class="price">total price</th></tr><tr class="evenrow" id="Sydney-Lima"><td><input name="isDeleting" type="checkbox"></td><td>Sydney</td><td>Lima</td><td>1</td><td>1030.00</td><td>1030</td></tr><tr class="oddrow" id="Sydney-Perth"><td><input name="isDeleting" type="checkbox"></td><td>Sydney</td><td>Perth</td><td>3</td><td>340.00</td><td>1020</td></tr><tr class="totalprice"><td colspan="5">Grand Total Price</td><td id="grandtotal">2050</td></tr></table>

The source of table is directly taken from a webpage, exactly as the same. However, Gmail, Hotmail and most of other emails will ignore to render this as a table.

So I am wondering, without using Outlook or other email sending agent software, how could I craft a embedded table for the PHP mail() method to send?

Current code snippet corresponds to table generation :

$purchaseinfo   = $_POST["purchaseinfo"];
//if html tags are not to be filtered in the body of email
$stringBuilder .= "<table>" .stripslashes($purchaseinfo) ."</table>";

//must send json response back to caller ajax request
if(mail($email, 'Your purchase information on www.hardlyworldtravel.com', $emailbody, $headers))
    echo json_encode(array("feedback"=>"successful"));
else echo json_encode(array("feedback"=>"error"));

Any hints and suggestions are welcomed, thanks a lot in advance.

© Stack Overflow or respective owner

Related posts about php

Related posts about homework