为什么hotmail不显示这个HTML电子邮件的正文?

时间:2012-05-16 07:01:43

标签: html-email hotmail

我通过codeigniter发送电子邮件,而hotmail收件人会收到一封空的电子邮件。enter image description here

但如果您显示来源,则正文已完成:

    x-store-info:sbevkl2QZR7OXo7WID5ZcdV2tiiWGqTnL8LqRHZDpO1a6RfqJUb9Bvk56X3BJKAg6cjaVhmE0UEtHLPiBFT8cnf1LZrSPERjUEe8skwDm3KAgvehRwVK6+cJhj4xrCbMEtL9MZV6cCY=
Authentication-Results: hotmail.com; sender-id=pass (sender IP is 89.31.151.18) header.from=webmaster@biocoupons.fr; dkim=none header.d=biocoupons.fr; x-hmca=pass
X-SID-PRA: webmaster@biocoupons.fr
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: ecolehaiti@live.fr
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" <webmaster@biocoupons.fr>
Reply-To: "Bio Coupons" <webmaster@biocoupons.fr>
X-Sender: webmaster@biocoupons.fr
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <4fb34ce591593@biocoupons.fr>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="B_ALT_4fb34ce59161d"
Return-Path: webmaster@biocoupons.fr
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问题,但为什么它会在我的电子邮件中出现? 谢谢你的帮助

2 个答案:

答案 0 :(得分:3)

在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>
...
好奇,不是吗?

答案 1 :(得分:1)

我们在网络应用程序中遇到了这个问题,我发现CSS评论是我们环境中的罪魁祸首。在尝试上述解决方案后没有成功,我开始逐行逐行解析我们的HTML模板。

在我们的环境中,我们使用PreMailer.net(https://github.com/milkshakesoftware/PreMailer.Net)从普通样式表内联我们的CSS样式,并通过partials将其注入HTML电子邮件模板。在那些部分CSS文件中,有CSS注释。当我删除这些邮件时,在outlook.com网络客户端(它还为@hotmail和@live帐户提供邮件服务)中正确呈现了电子邮件。

在我们的应用程序中,我将CSS注释从/* */更改为服务器端注释@* *@(我们正在使用我们的.NET MVC 4应用程序的razor语法)并且这样做了。