Сгенерированная HTML-почта не отображается правильно в Thunderbird (отлично смотрится в Evolution или roundcube webmail) - PullRequest
1 голос
/ 30 мая 2011

Я отправляю письмо в формате HTML с PHP, оно отлично принимается веб-почтой Evolution и Roundcube, но когда я смотрю на него в Mozilla Thunderbird, все, что я вижу, это HTML в виде простого текста.

Вот начало почты:

Return-Path: <www-data@me.be>
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on KIP-DU-VPS
X-Spam-Level: 
X-Spam-Status: No, score=-100.8 required=5.0 tests=BAYES_00,HTML_MESSAGE,
    HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY,NO_RELAYS,USER_IN_WHITELIST autolearn=no
    version=3.3.1
X-Original-To: me@me.be
Delivered-To: me@me.be
Received: by me.be (Postfix, from userid 33)
    id 232B627273; Mon, 30 May 2011 14:41:39 +0200 (CEST)
To: me@me.be; other@me.be
Subject: [Content] Uw aanvraag werd goedgekeurd
From: FromName <mailer@me.be>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="398a5f7c07527a0a59c4d87e6547f2d5"
Message-Id: <20110530124139.232B627273@me.be>
Date: Mon, 30 May 2011 14:41:39 +0200 (CEST)


--398a5f7c07527a0a59c4d87e6547f2d5
Content-Type: text/html; charset="utf8"
Content-Transfer-Encoding: 7bit

    <br/><head>
    <style type="text/css">

вырезать внутри HTML

</body>


--398a5f7c07527a0a59c4d87e6547f2d5
Content-Type: application/octet-stream; name="onkosten.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="onkosten.pdf"

JVBERi0xLjQNCjEgMCBvYmoNCjw8DQovQ3JlYXRvciA8RkVGRjAwNEIwMDZEMDAyRDAwNzYwMDY1
MDA3MjAwNjcwMDZFMDA2MTAwNzMwMDYzMDA2ODAwNkYwMDZDMDA2OTAwNkUwMDY3MDAyRTAwNzgw

разрезать внутри насадки

OTI0IDAwMDAwIG4NCjAwMDAwMDI3MTIgMDAwMDAgbg0KMDAwMDAyMTgxOCAwMDAwMCBuDQowMDAw
MDIzMjA3IDAwMDAwIG4NCjAwMDAwMjQ2MTEgMDAwMDAgbg0KdHJhaWxlcg0KPDwNCi9TaXplIDE1
DQovSW5mbyAxIDAgUg0KL1Jvb3QgMiAwIFINCi9JRFs8ZjU2Y2E5ZmFlNjY5MmQzZmNhOGQyOTIz
ZjUxNzFmYTY+PGY1NmNhOWZhZTY2OTJkM2ZjYThkMjkyM2Y1MTcxZmE2Pl0KPj4NCnN0YXJ0eHJl
Zg0KMjUwMzINCiUlRU9GDQo=


--398a5f7c07527a0a59c4d87e6547f2d5--

Thunderbird отображает все после строки «От» как текстовое тело. (Начиная с "MIME-версия: 1.0")

Что-то не так с почтой?

Вот функция отправки почты с вложениями:

function mailAttachmentHeader($attachment, $message ) {

        $mime_boundary = md5(time());
        $xMessage = "Content-Type: multipart/mixed; boundary=\"".$mime_boundary."\"\r\n\r\n";
        $xMessage .= "--".$mime_boundary."\r\n";
        //$xMessage .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
        $xMessage .= "Content-Type: text/html; charset=\"utf8\"\r\n";
        $xMessage .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
        $xMessage .= $message."\r\n\r\n";

        foreach($attachment as $file)   {

                $xMessage .= "--".$mime_boundary."\r\n";
                $xMessage .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"\r\n";
                $xMessage .= "Content-Transfer-Encoding: base64\r\n";
                $xMessage .= "Content-Disposition: attachment; filename=\"".basename($file)."\"\r\n\r\n";
                $content = file_get_contents($file);
                $xMessage.= chunk_split(base64_encode($content));
                $xMessage .= "\r\n\r\n";

        }

        $xMessage .= "--".$mime_boundary."--\r\n\r\n";

        return $xMessage;

}
...