HTML 邮件 : Some links not working in Outlook 2007

标签 html email outlook outlook-2007 html-email

目前我对这个问题一无所知,所以非常感谢任何可能导致解决方案的帮助,即使是很小的提示!

我有一封基本上是两列布局的 HTML 邮件,在某些情况下链接在 Outlook 2007 中没有响应(它们基本上是可点击的,但点击时什么也不会发生)。

我已经为出现该问题的电子邮件制作了一个尽可能干净的示例。
您可以在此处找到下载:http://static.bardiir.net/bugged_message.zip

压缩文件包含以下内容:

  • 作为 MHT、EML 和 HTML 文件的窃听消息
  • HTML 版本中使用的图像

如果您不信任 zip,您也可以在此处访问 html 版本:
http://static.bardiir.net/bugged_message/html_version.html

当您将邮件发送到 Outlook 2007 客户端时,右侧列链接 Stet clita kasd gubergen, no sea takimata sanctus est 将不可点击。

如果您无法从这些源文件中复制,请不要犹豫,我会很乐意向您发送包含错误的消息。

在此先感谢您的帮助:)

更新:
如果有任何兴趣,该消息最初是在服务器上用 PHP 生成的。 而且,如果您删除标题图像或当前位于其中的邮件的任何部分,链接就会变得可点击,因此整个事情的结合似乎会导致问题。

更新2:
它可能与此完全相同,但那里没有答案:
https://stackoverflow.com/questions/7420195/links-in-right-column-of-table-do-not-work-in-outlook-2007

更新3:
我刚刚发现右手栏似乎对任何东西都完全惰性。您甚至不能在那里选择文本(Outlook 2007 会崩溃)。但是,如果您使用 Tab 键选择链接,然后按回车键,它就可以完美运行。

更新4:
我也有一个完全相同的模板,左边的列也一样,所以基本上只有 td 单元格的顺序发生了变化。通过该命令,它始终有效。主要内容和侧边栏中的链接都运行良好。

更新5: 即使只删除文本,根本没有 HTML 标签,甚至换行符也最终无法点击链接。因此,如果您继续缩短上述链接邮件中的每个句子,那么除了文本节点之外,只有几个词没有触及任何其他内容,它将再次起作用。

更新6: 我也像答案中建议的那样构建了一个完全有效的错误消息版本。您可以在这里找到它:http://static.bardiir.net/bugged_message/html_version2.html 它仍然显示相同的问题,但现在所有有效性问题都已删除。
(毕竟有效性不应该是问题,因为左侧列布局显示相同的验证问题并且工作正常。大多数验证问题实际上只在这个例子中很明显,而不是在显示的完全填充的新闻稿中相同的症状。)

最佳答案

很难说出 Outlook(愚蠢的 Word 渲染引擎)出了什么问题。您可以尝试在 Outlook 中打开源代码,看看 Outlook 如何重新格式化您的 html 代码。

我使用更简单的 HTML 重新创建了您的电子邮件 here .希望这会解决您的问题。

注意事项:

许多电子邮件客户端拒绝字体属性的 CSS 速记。

而不是使用 font标签,尝试添加 font-family属性作为您的 table 的内联样式类来设置字体类型。最好不要也使用字体间隔,因为它们可能因电子邮件客户端而异。最好保持所有样式内联,以确保某些客户不会用他们自己的默认样式表覆盖您的样式表。

例如<table style="font-family: Arial, Helvetica, san-serif">

您还应该限制自己使用一种或两种字体 + 1(一种用于您的主要字体,另一种作为备用字体,外加一种默认系统字体,例如“san-serif”或“serif”)。超过 3-4 层的嵌套表格只是自找麻烦。

我用了span标签而不是 b粗体标签以避免潜在的冲突。我没有使用 margin-toppadding ,因为像 Hotmail 这样的某些客户端会忽略它。

关于HTML 邮件 : Some links not working in Outlook 2007 ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10176834/

相关文章:

html - 无法为电子邮件中已访问的链接设置颜色

javascript - 平滑视差滚动

javascript - 将html添加到某个字符之前的所有内容

c# - 循环 SmtpClient.Send()

perl - 如何使用 Perl 的 Net::IMAP::Simple 转发电子邮件

outlook - 如何使用 EWS 从 Outlook 联系人读取扩展属性

javascript - 跟随超链接,如果超链接指向当前页面,则重新加载页面

java - 使用 Thymeleaf 作为模板的 Spring Boot 发送电子邮件 - 配置不起作用

azure - 使用 javamail 和 OAUTH2 从独立应用程序访问 Outlook.office365.com

regex - 正则表达式 - 名称模式