Почему hotmail не показывает тело этого письма в формате html?

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

Но если вы покажете источник, тело будет полным:

    x-store-info:sbevkl2QZR7OXo7WID5ZcdV2tiiWGqTnL8LqRHZDpO1a6RfqJUb9Bvk56X3BJKAg6cjaVhmE0UEtHLPiBFT8cnf1LZrSPERjUEe8skwDm3KAgvehRwVK6+cJhj4xrCbMEtL9MZV6cCY=
Authentication-Results: hotmail.com; sender-id=pass (sender IP is 89.31.151.18) [email protected]; dkim=none header.d=biocoupons.fr; x-hmca=pass
X-SID-PRA: [email protected]
X-DKIM-Result: None
X-Message-Status: n:0:n
X-SID-Result: Pass
X-AUTH-Result: PASS
X-Message-Delivery: Vj0xLjE7dXM9MDtsPTA7YT0wO0Q9MTtHRD0xO1NDTD0w
X-Message-Info: NhFq/7gR1vRbK5wwd2CCPiz2FoG/apC9Nlwn9QDQUkFtCAY0+3pBZaTO9tRcEil5WQ1UlFPTmVO6YI0VFRvEqJtfBxGnyrZjARsdKFYGzasctOU2tO5XGDWuESbcCr0Hq4XO6B1tyQE=
Received: from brunetprod.nexen.net ([89.31.151.18]) by SNT0-MC3-F43.Snt0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4900);
     Tue, 15 May 2012 23:44:54 -0700
Received: by brunetprod.nexen.net (Postfix, from userid 33)
    id 9DB1030C00A; Wed, 16 May 2012 08:44:53 +0200 (CEST)
To: [email protected]
Subject: =?utf-8?Q?Vous_avez_oubli=c3=a9_votre_mot_de_passe_sur_Bio_Coupons=3f?=
X-PHP-Script: www.biocoupons.fr/index.php/auth/forgot_password for 81.56.219.94
User-Agent: CodeIgniter
Date: Wed, 16 May 2012 08:44:53 +0200
From: "Bio Coupons" <[email protected]>
Reply-To: "Bio Coupons" <[email protected]>
X-Sender: [email protected]
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <[email protected]>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="B_ALT_4fb34ce59161d"
Return-Path: [email protected]
X-OriginalArrivalTime: 16 May 2012 06:44:54.0956 (UTC) FILETIME=[671596C0:01CD332F]

This is a multi-part message in MIME format.
Your email application may not support this format.

--B_ALT_4fb34ce59161d
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Bonjour,

Vous avez perdu votre mot de passe ? Pas de panique. 
Pour créer un nouveau mot de passe, cliquez sur le lien suivant :

http://www.biocoupons.fr/auth/reset_password/
Vous recevez cet email à la demande d'un utilisateur de Bio Coupons . C'est
une étape de la création d'un nouveau mot de passe sur le site. Si vous
N'AVEZ PAS demandé un nouveau mot de passe, merci d'ignorer cet email, et
votre mot de passe restera inchangé.

Merci,
L'équipe Bio Coupons


--B_ALT_4fb34ce59161d
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html>
<head><title>Création d'un nouveau mot de passe sur Bio Coupons</title></h=
ead>
<body>
<div style=3D"max-width: 800px; margin: 0; padding: 30px 0;">
<table width=3D"80%" border=3D"0" cellpadding=3D"0" cellspacing=3D"0">
<tr>
<td width=3D"5%"></td>
<td align=3D"left" width=3D"95%" style=3D"font: 13px/18px Arial, Helvetica,=
 sans-serif;">
<h2 style=3D"font: normal 20px/23px Arial, Helvetica, sans-serif; margin: 0=
; padding: 0 0 18px; color: black;">Créer un nouveau mot de passe</h2>
Vous avez perdu votre mot de passe ? Pas de panique. <br />
Pour créer un nouveau mot de passe, cliquez sur le lien suivant :<br />
<br />
<big style=3D"font: 16px/18px Arial, Helvetica, sans-serif;"><b><a href=3D"=
http://www.biocoupons.fr/auth/reset_password/" style=3D"color: #3366cc;">Créer un nouveau mot de passe</a></b></=
big><br />
<br />
Le lien ne marche pas ? Copiez le lien suivant dans la barre d'adresse de v=
otre navigateur :<br />
<nobr><a href=3D"http://www.biocoupons.fr/auth/reset_password/" style=3D"color: #3366cc;">http://www.biocoupons.f=
r/auth/reset_password/</a></nobr><br /=
>
<br />
<br />
Vous recevez cet email à la demande d'un utilisateur de <a href=3D"http://=
www.biocoupons.fr/" style=3D"color: #3366cc;">Bio Coupons</a>. C'est une é=
tape de la création d'un nouveau mot de passe sur le site. Si vous N'AVEZ =
PAS demandé un nouveau mot de passe, merci d'ignorer cet email, et votre m=
ot de passe restera inchangé.<br />
<br />
<br />
Merci,<br />
L'équipe Bio Coupons</td>
</tr>
</table>
</div>
</body>
</html>

--B_ALT_4fb34ce59161d--

Другая почтовая программа отображает электронную почту нормально. Я пробую с и без doctype.

Отрендеренный HTML:

    <div id="mpf0_readMsgBodyContainer" class="ReadMsgBody" onclick="return Control.invoke('MessagePartBody','_onBodyClick',event,event);">
        <div class="SandboxScopeClass ExternalClass" id="mpf0_MsgContainer"></div>

И отрендеренный html правильного письма (текстового)

    <div id="mpf0_readMsgBodyContainer" class="ReadMsgBody" onclick="return Control.invoke('MessagePartBody','_onBodyClick',event,event);">
    <div class="SandboxScopeClass ExternalClass PlainTextMessageBody ContentFiltered" id="mpf0_MsgContainer">
        <pre>Bonjour,<br>Vous venez de vous inscrire à Bio Coupons et nous vous en remercions.<br> 
        </pre>
    </div>
</div>

Как видите, div тела сообщения вообще не заполнен. Я подозреваю, что проблема связана с javascript, но почему это происходит в моем электронном письме? Спасибо за вашу помощь


person Matthieu    schedule 16.05.2012    source источник
comment
Можете ли вы включить отображаемый HTML-код со страницы Hotmail. Если вы посмотрите на визуализированный HTML-код, станет более очевидным, где проблема заключается в исходном HTML-коде.   -  person RidingTheRails    schedule 16.05.2012
comment
Я нахожу HTML с помощью веб-инспектора. Но, как видите, он кажется пустым.   -  person Matthieu    schedule 16.05.2012
comment
Я проверил его через motobit.com/util/quoted-printable-decoder. asp, и HTML на первый взгляд выглядит нормально и нормально отображается в Chrome. Одним из предложений было бы попробовать удалить информацию о стиле, чтобы увидеть, имеет ли это какой-либо эффект, а если нет, то вернуться к основам и уменьшить HTML до одного элемента, например. один DIV с текстом и создавайте его поэлементно, чтобы увидеть, где возникает проблема, и она перестает отображаться.   -  person RidingTheRails    schedule 16.05.2012
comment
Думаю, это единственное решение. Я надеялся, что есть какая-то известная проблема с горячей почтой... (Я знаю: с горячей почтой известно много проблем ;+)   -  person Matthieu    schedule 16.05.2012


Ответы (2)


Не хватало только новой строки в верхней части html-кода. то есть:

--B_ALT_4fb34ce59161d
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable


<html>
...

Вместо

--B_ALT_4fb34ce59161d
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html>
...

любопытно, не так ли?

person Matthieu    schedule 16.05.2012
comment
Мне повезло, что я нашел его, потому что я никогда не думал о его тестировании, но в процессе удаления каждого тега один за другим я однажды оставил пустую строку. Сначала я подумал, что исправление произошло из-за тега, который я только что удалил, но когда я попытался снова, не оставляя пустой строки, это не сработало! поэтому, сравнив два письма, я увидел добавленную пустую строку в рабочем... Кто несет ответственность за эту хрень с горячей почтой? не говорите мне... оно начинается на м... - person Matthieu; 16.05.2012

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

В нашей среде мы используем PreMailer.net (https://github.com/milkshakesoftware/PreMailer.Net), чтобы встроить наши стили CSS из обычной таблицы стилей и внедрить их в HTML-шаблоны электронной почты через партиалы. В этих частичных файлах CSS были комментарии CSS. Когда я удалил их, электронные письма правильно отображались в веб-клиенте outlook.com (который также предоставляет почтовую службу для учетных записей @hotmail и @live).

В нашем приложении я изменил комментарии CSS с /* */ на комментарии на стороне сервера @* *@ (мы используем синтаксис бритвы для нашего приложения .NET MVC 4), и это помогло.

person dlane    schedule 03.02.2014
comment
Только что столкнулся с этой проблемой - оказалось, что она вызвана комментарием CSS, содержащим HTML. Остальные комментарии CSS не вызвали проблем в этом случае. - person Stecman; 01.07.2014