HTML邮件显示错误

时间:2012-03-19 09:25:00

标签: php html-email

当我通过邮件发送html消息时,它将破坏邮件帐户中的设计。代码如下:

<?php
$center_part2 = "";
$mail_ID = "exmaple.gmail.com";
$subject = "UnTouched Ticket Notification";
$headers = "From: example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$part = '<html><body>';
$part .= '<div style="background-color: #EEEEEE;border-bottom: 1px solid #DCDCDC;padding: 10px 10px 20px;width: 500px; float:left;font-size:12px;font-weight:bold;">';
$part1 = '<div style="width:500px;">';
$part1 .= '<div style="width:500px;background-color:#eeeeee;padding: 10px 0 20px;border-bottom:1px solid #dcdcdc;">';  
$part1 .= '<div style="width:450px;background-color:#eeeeee;padding: 10px 0 20px;border-bottom:1px solid #dcdcdc; height:auto; float:left;font-size:12px;margin-left:50px; font-weight:bold;">';
$part3 = '</div></div></div>';
$part3 .= '</body></html>';
$center_part = 'You have opened '.$inr.' tickets . But the following tickets are not updated yet ,';
$center_part2.="<div style='width:345px;color:#000000;font-size:12px;margin-left:75px; font-weight:bold; height:auto; margin-top:10px;'>"; 
    for ($k=1; $k<=70; $k++){

       $new.="<p>Ticket &#35;".$K." Last Updated  ".$K." days ".$K." hours  ago &#33;</p>";
    }
    $center_part2.=$new."</div>";
    if($mail_ID){
        $message = "";
        $center_part1 = 'Dear Admin ,'; 
        $message = $part.$center_part1.$part1.$center_part.$center_part2.$part3;
        mail($mail_ID, $subject, $message, $headers);
    }
?>

当我打开Gmail时,我收到了这样的邮件:

Screenshot

那么我的代码中有什么问题?

2 个答案:

答案 0 :(得分:1)

我会发表评论作为davidethell建议的答案,以防其他人在这里遇到同样的问题。

显示问题是由于<div>代码具有float:left和固定宽度,导致它们在宽度允许的情况下并排堆叠。

在邮件内容中插入随机!的{​​{1}}问题是由于超出了每行的最大字符数。保持每行不超过512个字符将解决此问题。使用!根据需要细分内容。

答案 1 :(得分:0)

您尚未关闭以下代码的<div>

$part .= '<div style="background-color: #EEEEEE;border-bottom: 1px solid #DCDCDC;padding: 10px 10px 20px;width: 500px; float:left;font-size:12px;font-weight:bold;">';