PHP почтовик, содержащий HTML, не отображается правильно - PullRequest
1 голос
/ 30 марта 2010

вот код, над которым я работал, в основном мне нужно настроить автоматическое электронное письмо, которое будет отправлено пользователю после того, как он заполнит форму, что в данный момент выполняется, но HTML-код не отображается как следует внутри почтового клиента.

Я проверил почту Gmail, Outlook и Mac, и ни один из них не отображает HTML правильно.

Вот код

<?php
    session_start();
    $_SESSION['name'] = $_POST['name'];
    $name = $_SESSION['name'];
    $email_1 = $_POST['email_1'];
    $email_2 = $_POST['email_2'];
    $email_3 = $_POST['email_3'];
    $email_4 = $_POST['email_4'];
    $id_num = $_POST['id_num'];
    $tel = $_POST['tel'];
    $email = $_POST['email'];



    //sets the current date

    $curDate = date("Y-m-d");

    // Example


    require_once("mailclass/htmlMimeMail.php");
    $mail = new htmlMimeMail();
    $mail->setSubject("Your submission to MyWebsite!");
    $mail->setFrom("MyWebsite <info@website.co.za>");
    $mail->setFrom("MyWebsite <info@website.co.za>");
    $email_address = $email_1 . "," . $email_2 . "," . $email_3 ."," . $email_4 ;
    $mail->setBcc($email_address);





    $day = "
         <body style="'background: #000000; color: #FFFFFF;'">
         <div style="'background-image: url(http://www.website.com/images/mailerbg.jpg); width: 900px; height: 839px; margin: 0 auto;'">
         <div style="'width: 620px; height: 280px; position: relative; top: 155px; left: 25px;'">
                <h1><br>your friend $name<br><br><br></h1>
            </div>    
        </div>
        </body>";

    $mail->setHTML($day);   
            $result = $mail->send(array());

    ?> 

Код довольно запутанный, из-за того, что я так много с ним болтаю, но, по сути, ни один из HTML не отображается так, как должно быть в почтовом клиенте, как только сообщение прибывает в пункт назначения, как я могу заставить его отображаться как правильная HTML-страница внутри почтового клиента?

Я предполагаю, что мое спасение не выполнено правильно, поэтому ничего не отображается так, как должно?

Спасибо заранее!

1 Ответ

3 голосов
/ 30 марта 2010

Показывать код PHP в этом случае бесполезно. Нам нужно увидеть окончательный сгенерированный E-Mail.

Что бросается в глаза, так это некоторые ошибочные цитаты:

 <body style="'background: #000000; color: #FFFFFF;'">

должно быть

 <body style="background: #000000; color: #FFFFFF;">

Может быть, это уже исправляет.

Кроме того, согласно этого замечательного руководства , позиционирование вряд ли поддерживается в электронной почте - это также может нарушить макет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...