通过 PHP 发送 HTML 邮件 - 奇怪的渲染
我有一个简单的表:
<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">[email protected]</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";
I have a simple table:
<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">[email protected]</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>
When I test it, it looks fine:
When I send it through PHP mail() function, it looks like this:
Why is that margin there?
Just in case, my mail() headers are:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
表格的宽度是 600 像素。
单元格的宽度加起来如下:
第一个单元格:1px 边框 + 5px 内边距 + 100px 宽度 + 5px 内边距 + 1px 边框 = 112px
第二个单元格 1 像素边框 + 5 像素内边距 + 500 像素宽度 + 5 像素内边距 + 1 像素边框 = 512 像素
总宽度:600 像素宽度表格中的 624 像素。
这可能不是问题,但我敢打赌这没有帮助。
我建议你先纠正这个问题,然后看看会发生什么。
The width of your table is 600px.
The width of the cells adds up as follows:
First cell: 1px border + 5px padding + 100px width + 5px padding + 1px border = 112px
Second cell 1px border + 5px padding + 500px width + 5px padding + 1px border = 512px
Total width: 624px in a 600px width table.
This may not be the problem, but I bet it is not helping.
I suggest you correct this first and then see what happens.
您是否有机会在 mail() 的行之间插入 \n\r ?
did you by any chance insert \n\r between the rows in mail()?
好吧,想通了 - 问题是我在发送之前做了
nl2br($message)
。($message包含上面的HTML代码)
但是谢谢大家的参与!
Well, figured it out - the problem was that I did
nl2br($message)
before sending.($message contains the above HTML code)
But thank you all for participation!