2014-02-26 48 views
0

第一件事。我的代碼有效。我在IIS7的sendmail.ini中正確設置了SMTP信息,並且使用了gmail。我擁有的是一個訂購食物的購物車。格式化我的郵件通過PHP發送郵件()和IIS7

在我cart.php頁,我在用戶選擇打印輸出拉:

$printoutput .= "<table width='500' border='0' cellspacing='0' cellpadding='0'> 
          <tr><td> <strong>Order Item # ". ($i+1) ."</strong></td></tr> 
          <tr><td> ". $product_name . "</td></tr> 
          <tr><td>$" . $price . ".00</td></tr> 
          <tr><td>". $displayoptions . "</td></tr></table> 

          <table height='1%' width='500' border='0' cellspacing='0' cellpadding='0'><tr><td></td></tr></table>"; 

      $i++; 

這個輸出看起來完美的網頁瀏覽器。在後面的代碼中,我使用表單發佈$printoutput並將其命名爲order。但我的email.php頁面上,我用

session_start(); 
if(isset($_POST['order'])){ 
    $order = $_POST['order']; 
} 

然後

mail($email_to, $email_subject, $order, $headers); 

以及就像我說的,我也只是簡單echo $order,它看起來在Web瀏覽器中完美。但是,當實際發送爲電子郵件時,我會收到一封包含所有html標記的電子郵件。我已經嘗試了一些東西,但沒有按照我想要的方式格式化我的信息。有誰知道我怎麼能得到這個基本上格式正確的電子郵件?

我希望有我的信息簡單地列出這樣的:
訂購#
產品名稱
價格
選項

但目前在電子郵件中的輸出有一噸的多餘的空格,並顯示所有的HTML。

任何幫助,將不勝感激。

+4

你在你發送的HTML電子郵件,而不是純文本頭文件中指定? –

+0

我不認爲我是。我將研究它並查看在哪裏添加正確的代碼來指定HTML。 – user3150191

+0

啊是的!就是這樣!謝謝你@Mark Parnell。 – user3150191

回答

1

http://www.w3schools.com/Php/func_mail_mail.asp

<?php 
$to = "[email protected], [email protected]"; 
$subject = "HTML email"; 

$message = " 
<html> 
<head> 
<title>HTML email</title> 
</head> 
<body> 
<p>This email contains HTML Tags!</p> 
<table> 
<tr> 
<th>Firstname</th> 
<th>Lastname</th> 
</tr> 
<tr> 
<td>John</td> 
<td>Doe</td> 
</tr> 
</table> 
</body> 
</html> 
"; 

// Always set content-type when sending HTML email 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 

// More headers 
$headers .= 'From: <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 

mail($to,$subject,$message,$headers); 
?> 
+0

非常感謝你@esdebon!這工作!如果SO會讓我(5分鐘),我會接受這個答案。 – user3150191