我很难在HTML电子邮件中格式化表格。似乎总有一个单元格没有背景颜色或奇怪的空白区域。
这是代码(在php中) -
$subject.="<br/><br/><table style=\"width:585px;\" ><tr><td style=\"padding:10px;background-color:#113797;color:white;\">New & Used Vehicles</td><td style=\"padding:10px;background-color:#113797;color:white;\">Term in Months</td><td style=\"padding:10px;background-color:#113797;color:white;\">APR* As Low As</td><td style=\"padding:10px;background-color:#113797;color:white;\">Monthly Payment Per $1000 Borrowed</td></tr>";
$result = mysql_query("SELECT * FROM rates WHERE ID>='32' AND ID <='39'");
while($row = mysql_fetch_array($result))
{
$subject.= "<tr><td BGCOLOR=\"#e5f1ff\" style=\"padding:10px;color:black;\">" . $row['name'] . "</td>";
$subject.= "<td BGCOLOR=\"#e5f1ff\" style=\"padding:10px;\">" . $row['term'] . "</td>";
$subject.= "<td BGCOLOR=\"#e5f1ff\" style=\"padding:10px;\">" . $row['apr'] . "</td>";
$subject.= "<td BGCOLOR=\"#e5f1ff\" style=\"padding:10px;\">" . $row['per_1000'] . "</td></tr>";
}
$subject.= "</table>";
所以我尝试了css background和html,两者都创造了看起来很糟糕的东西。我也试过Doctypes。
这就是我的邮件代码。
mail( "XXXXXX@yahoo.com", "$title2", "$subject" , "Content-type: text/html;\r\nFrom: auto-alerts@streatoronized.org" );
这就是它的呈现方式。看到流氓空间?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>Check out the low rates.<table style="width:585px;" ><tr><td style="padding:10px;background-color:#113797;color:white;">New & Used Vehicles</td><td style="padding:10px;background-color:#113797;color:white;">Term in Months</td><td style="padding:10px;background-color:#113797;color:white;">APR* As Low As</td><td style="padding:10px;background-color:#113797;color:white;">Monthly Payment Per $1000 Borrowed</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2008 and NEWER Vehicle Purchases</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">Up to 72 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">3.24%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$17.28</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2008 and NEWER Vehicle!
Purchases</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">64 - 72 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">4.29%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$15.69</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2007 and OLDER Vehicle Purchases</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">Up to 72 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">5.49%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$18.20</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2007 and OLDER Vehicle Purchases</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">64 - 72 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">5.99%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$16.46</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2011 & 2010 REFINANCES</td><td bgcolor=!
"#e5f1ff" style="padding:10px;height:100%;">Up to 63 Months</t!
d><td bg
color="#e5f1ff" style="padding:10px;height:100%;">4.99%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$18.08</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2011 & 2010 REFINANCES</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">64 - 72 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">5.49%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$16.34</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2008 - 2009 REFINANCES</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">Up to 60 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">5.99%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$19.33</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2007 & older Vehicle REFINANCE</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">Up to 60 Months</td><td bgcolor="#e5f1ff" style="padding:10px!
;height:100%;">6.99%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$19.80</td></tr></table></body></html>
答案 0 :(得分:27)
我讨厌回答我自己的问题,但我确实找到了解决问题的方法,希望有人可以使用这个解决方案来解决这个问题。
问题是由mail()函数引起的。当我尝试发送电子邮件时,我有一长串html代码。 实际上,太长了!当我超过78个字符时, BANG!会显示,然后使用我的html或css进行插孔。 RFC 2822
分辨率是将其更改为base-64编码数据或在我的长行html代码上添加\ r \ n。无论哪种方式都可以解决问题。
感谢大家的帮助!
答案 1 :(得分:3)
似乎违规细胞没有回报 所以尝试增加高度:100%给他们,使他们完全填满。 您可以通过调整此代码来解决此问题
<td style=\"padding:10px;background-color:#113797;color:white;\">
要
<td style=\"padding:10px;background-color:#113797;color:white;height:100%;\">
这可以解决您的问题。
答案 2 :(得分:2)
删除所有CSS样式,许多电子邮件呈现引擎失败。使用普通的旧表设计。
使用<font color="black">blah</font>
代替样式color
,使用<table cellpadding="10">
代替样式padding
,使用bgcolor
代替样式background-color
。
将bgcolor设置为整个TABLE,而不是TD。
答案 3 :(得分:2)
以下是如何在以下位置创建Base64编码电子邮件的示例:
<?php
$html = "<p>The <b>quick</b> <em>brown</em> <u>fox</u> jumped right over the lazy dog.</p><hr />";
$to = "amit@labnol.org";
$cc = "cc@labnol.org";
$bcc = "bcc@labnol.org";
$from = "from@labnol.org";
$subject = "This is a MIME encoded email";
$boundary = str_replace(" ", "", date('l jS \of F Y h i s A'));
$newline = "\r\n";
$headers = "From: $from$newline".
"Cc: $cc$newline".
"Bcc: $bcc$newline".
"MIME-Version: 1.0$newline".
"Content-Type: multipart/alternative;".
"boundary = \"$boundary\"$newline$newline".
"--$boundary$newline".
"Content-Type: text/html; charset=ISO-8859-1$newline".
"Content-Transfer-Encoding: base64$newline$newline";
$headers .= rtrim(chunk_split(base64_encode($html)));
mail($to,$subject,"",$headers);
?>
我在以下网站找到了这段代码:
https://ctrlq.org/code/19840-base64-encoded-email
将您的电子邮件设置为Based64编码将删除随机'!'被添加到电子邮件中。