HTML-почта отображается неправильно - PullRequest
1 голос
/ 19 марта 2012

Когда я отправляю 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 ]

1 голос
/ 20 марта 2012

Я опубликую свой комментарий в качестве ответа, как предлагал Давидетель, на случай, если кто-нибудь еще приземлится здесь с такой же проблемой.

Проблема с отображением была связана с тегами <div>, имеющими float:left и фиксированную ширину, из-за чего они становились сложенными рядом, где разрешенная ширина.

Проблема !, когда случайные ! вставляются в содержимое электронной почты, связана с превышением максимального количества символов в строке. Удержание каждой строки под 512 символами решит это. Используйте \n, чтобы разбить содержимое по мере необходимости.

0 голосов
/ 19 марта 2012

Вы не закрыли <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;">';
...