我正在使用PHPMailer,並在for循環中有這行代碼將HTML表格的行添加到電子郵件的正文中。 (PHP的全引擎收錄在這裏:http://pastebin.com/iujp27hU)爲什麼PHP將一些尖括號轉換爲PHPMailer中的html實體
$body .= "<tr><td style='". $rush_part_style . "'>" . $row[0]
. "</td> <td align='center' style='" . $rush_part_style . "'>" . $quantity_to_order
. "</td> <td>" . $row[2] . "</td></tr>";
這些電子郵件通常出來就好了,但每過一段時間,在td
標籤的尖括號中的一個編碼,它的HTML實體。
當我在Outlook中查看源,這裏是什麼樣子:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">h3, p, table td {font-family:arial;}</style>
<table><tr><td><u>SD Part Number</u></td><td><u>Quantity</u></td><td><u>UOM</u>/td></tr>
- - some rows removed for brevity - -
<tr><td style="">P1400642-00048-C</td><td align="center" style="">26</td><td>EA</td></tr>
<tr><td style="">P1400642-00046-C</td>< td align='center' style=''>20</td> <td>EA</td></tr>
<tr><td style="">P1400642-00106-C</td><td align="center" style="">25</td><td>EA</td></tr>
<tr><td style="">P1400642-00036-C</td><td align="center" style="">67</td><td>EA</td></tr>
...
我不知道爲什麼它隨機編碼的<
>
到他們的性格實體之一。 此問題發生之前,但我可以發送100 +電子郵件沒有它發生。產品編號對其是否顯示沒有影響。
如何解決此問題?
--Additional信息Edit--
測試一個非常大的訂單的202線在發送這些產生格式錯誤。 這沒有任何屬性,只是純粹的HTML。 PHPMailer在Send()
上修改它。
如果您在另一個電子郵件客戶端中打開該電子郵件,該怎麼辦呢? – sjagr
@Dagon OP已經觀察到了這一點,並且在問題標題和代碼片段下面都提到了這一點。 – ajp15243
嘗試發送相同的電子郵件,但沒有生成html的那一行中的任何變量。看看它是否仍然存在。 '$身體= 「