0

我有一个简单的表:

<table cellpadding="0" cellspacing="0" style="width:600px">
  <tr>
    <td style="width:100px; padding:5px; border:1px solid #444">E-mail</td>
    <td style="width:500px; padding:5px; border:1px solid #444">ex@ex.com</td>
  </tr>
  <tr>
    <td style="width:100px; padding:5px; border:1px solid #444">Message</td>
    <td style="width:500px; padding:5px; border:1px solid #444">sometext</td>
  </tr>
</table>

当我测试它时,它看起来很好: 替代文字

当我通过 PHP mail() 函数发送它时,它看起来像这样: 替代文字

为什么会有那个边距?

以防万一,我的 mail() 标头是:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
4

3 回答 3

1

表格的宽度为 600 像素。

单元格的宽度加起来如下:

第一个单元格:1px 边框 + 5px 填充 + 100px 宽度 + 5px 填充 + 1px 边框 = 112px 第二个单元格 1px 边框 + 5px 填充 + 500px 宽度 + 5px 填充 + 1px 边框 = 512px

总宽度:在 600 像素宽度的表格中为 624 像素。

这可能不是问题,但我敢打赌它没有帮助。

我建议你先纠正这个,然后看看会发生什么。

于 2010-10-25T07:51:11.220 回答
1

你有没有机会在mail() 的行之间插入\n\r?

于 2010-10-25T09:43:38.450 回答
0

好吧,想通了-问题是我nl2br($message)在发送之前就这样做了。($message 包含上面的 HTML 代码)

不过谢谢大家的参与!

于 2010-10-25T13:06:56.543 回答