【问题标题】:MailChimp HTML Outlook ConditionsMailChimp HTML Outlook 条件
【发布时间】:2017-01-31 06:41:11
【问题描述】:

我花了大部分时间试图找到解决这个问题的方法。

我有一个 HTML 电子邮件模板,可以在大多数设备上正常工作,但在 Outlook 2013(我可以访问以测试它的唯一 Outlook 版本)上查看时,它会像移动设备一样呈现。我想我已经追踪到我在代码中包含的 Outlook 条件。

<!--[if (gte mso 9)|(IE)]>
<table align="center" border="0" cellspacing="0" cellpadding="0" width="500">
<tr>
<td align="center" valign="top" width="500">
<![endif]-->

但是,当我在 Outlook 中打开电子邮件时,它们已更改为:

<!--/*SC*/ [if gte mso 9]>
<center>
<table><tr><td width="580">
<![endif] /*EC*/-->

我猜它代表 SC = 开始评论和 EC = 结束评论。

我说这些会干扰 Outlook 条件是否正确?有谁知道我如何阻止 MailChimp 将它们放入我的模板中?

【问题讨论】:

  • 我能问一下为什么有前景条件 cmets 吗?您应该能够删除它们并向表格添加一个类以调整移动设备的大小?
  • 您是否有机会解决您的问题?我们有完全相同的...
  • @alxscms 不幸的是没有。这个谜团仍未解开。
  • ` ` 这段代码对我来说非常好用。我认为这不是问题。你能展示你的完整代码吗?
  • @Eoin - 如果您手动将其放入源代码中,则该代码可以工作。但是在 MailChimp 中,它在 cmets 的开头和结尾添加了“/*SC*/”和“/*EC*/”,以防止这些代码部分由 Microsoft 应用程序执行。

标签: html email outlook mailchimp


【解决方案1】:

在我们进行更多检查后,我们发现接收这些电子邮件的客户有一个中间件,可以更改所有进入其网络的电子邮件,并修改条件 cmets。 如果它对任何人有任何帮助,那就太好了:)它可能只是我们解决问题的方法......

【讨论】:

    【解决方案2】:

    不是 Windows 用户,我不知道 Outlook 2013 和 Internet Explorer 10 之间可能存在或不存在什么依赖关系,但这可能与问题有关:

    https://technet.microsoft.com/en-us/windows/hh801214(v=vs.60)

    已在 Internet Explorer 10 标准和怪癖模式中删除了对条件 cmets 的支持,以提高互操作性和与 HTML5 的合规性。这意味着条件注释现在被视为常规 cmets,就像在其他浏览器中一样。此更改可能会影响专门为 Windows Internet Explorer 编写的页面或使用浏览器嗅探来改变其在 Internet Explorer 中的行为的页面。

    至少对于 Internet Explorer,你必须&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"&gt;

    <html> 
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"> 
      <!--[if IE]> 
        This content is ignored in Internet Explorer 10 and other browsers. 
        In older versions of Internet Explorer, it renders as part of the page. 
      <![endif]--> 
    </html> 
    

    现在这可能有点麻烦我没有办法检查它是否有效,但可能值得一试......

    <html> 
      <meta http-equiv="X-UA-Compatible" content="mso=EmulateIE9"> 
      <!--[if mso]> 
       Hacky stuff
      <![endif]--> 
    </html> 
    

    另外,也许尝试以正确的方式定位您的 Outlook 版本...这不是问题的错误,而是以一般的方式,每个人都有自己的问题。

    https://templates.mailchimp.com/development/css/outlook-conditional-css/

    使用 Microsoft Office 版本号可让您定位特定的 Outlook 客户端。在上面的示例中,“mso 9”是 Office 2000,这意味着您针对的是 Outlook 2000。其他版本号允许您针对其他客户端,这意味着您可以构建针对每个版本的 Outlook 定制的样式表。

    Outlook 2000 - 版本 9
    Outlook 2002 - 第 10 版
    Outlook 2003 - 版本 11
    Outlook 2007 - 版本 12
    Outlook 2010 - 第 14 版
    展望 2013 - 第 15 版

    【讨论】:

      【解决方案3】:

      我在模板中使用此代码,它从 Outlook 97 到 2013 年运行良好。从 Office365 开始,cmets 被忽略,类似于 Edge 忽略浏览器中的条件 IE 标签。我不会对 Outlook 版本进行更细粒度的区分,而是更喜欢寻找在所有旧 Outlook 版本中工作方式相同/相似的兼容代码。

      <!--[if mso]><table ...><![endif]-->
      <div>Code for all clients</div>
      <!--[if mso]></table><![endif]-->
      

      我自己不使用 MailChimp,但是在导入这个测试时,它似乎保持不变。

      【讨论】:

      • 如果我直接通过电子邮件客户端放置代码,代码就可以工作。但是,当它粘贴到 MailChimp 上的模板中并发送测试电子邮件时,MailChimp 会将 SC 和 EC 添加到 cmets 的开头。这可以防止在 Outlook 中忽略条件块如果额外的 SC 和 EC 不在 cmets 中,它应该可以工作。
      • 你怎么知道不是Outlook在收到代码时添加的? Outlook 添加了大量的代码。 MC 也确实编辑了一些东西,但我从来没有遇到过条件 cmets 的问题。
      • 如您所见,&lt;center&gt; 已添加,我敢打赌那是 Outlook
      猜你喜欢
      • 2019-06-30
      • 2017-06-13
      • 1970-01-01
      • 2012-08-29
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多