【问题标题】:Links in EXM emails are broken for some users某些用户的 EXM 电子邮件中的链接已损坏
【发布时间】:2016-04-29 15:05:24
【问题描述】:

我们遇到以下问题:当我们通过 EXM 发送电子邮件时,电子邮件正文中的链接对某些用户不起作用。

默认情况下,电子邮件正文中的链接始终转换为:

http://domainname/sitecore/RedirectUrlPage.aspx?ec_contact_id=xxxx84B137D2037C7D180&ec_message_id=xxxxB4CEAA3FD1A3B&ec_url=%2fthelinkpath

这显然是出于跟踪原因。

但是,一些用户在浏览链接时会遇到 404 错误。日志总是这样说:

ERROR EmailCampaign: Object reference not set to an instance of an object.
Exception: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Sitecore.Analytics
   at Sitecore.Analytics.Tracking.StandardSession.InitializePage(ICurrentPageContext currentPageContext, ICurrentPageContext oldPage)
   at Sitecore.Analytics.Tracking.StandardSession.Identify(String userName)
   at Sitecore.Modules.EmailCampaign.Core.Pipelines.RedirectUrl.IdentifyContact.Process(RedirectUrlPipelineArgs args)
   at (Object , Object[] )
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
   at Sitecore.Modules.EmailCampaign.UI.RedirectUrlPage.HandleMessageEvent(ID messageId, ID contactId)
   at Sitecore.Modules.EmailCampaign.UI.MessageEventPage.OnLoad(EventArgs e)

为用户解决此错误的唯一方法是清除其 cookie 或使用其他浏览器或使用隐身模式。用户当前已从网站注销。

Sitecore 版本 8.0 + EXM

以前有人遇到过这个问题吗?

【问题讨论】:

  • 您是否在任何 Sitecore 配置文件中设置了任何 IP 地址限制?例如,不跟踪开发团队或营销团队的任何访问?
  • 这是一个已知错误,如果您当前有一个会话,其中您被识别为另一个用户,则可能/将会发生。它将在 EXM 的下一个版本中修复。我相信对您来说最简单的解决方案是用您自己的管道处理器替换并处理异常(将由 Sitecore.Analytics 抛出)
  • @Tchami 我知道这是很久以前的事了,但你知道这个修复是否曾经做过,请在哪个版本的 EXM 中进行?我们正在使用 v3.4(内部版本 161028)并且遇到了类似的问题。谢谢。
  • @WheretheresaWill 我不确定。您可以尝试将redirectUrl 管道的IdentifyContact 处理器移到RegisterMessageEvent 处理器之前
  • 好的@Tchami 我会试试的,谢谢!

标签: sitecore sitecore8 sitecore-ecm sitecore-exm


【解决方案1】:

确实,这是因为之前会话中存储的 cookie,谢谢 Tchami。

Sitecore Support 的回答是一样的:

当您打开多个包含多个邮件的邮件时会发生此错误 contactId 在同一个浏览器中。

但除了清除 cookie 或使用其他浏览器外,他们没有提出任何解决方案。

但是,即使对于这种很少出现的情况,我们也不希望破坏用户体验。

所以,为了处理异常,我们发现应该重写以下管道处理器:

<processor type ="Sitecore.Modules.EmailCampaign.Core.Pipelines.RedirectUrl.IdentifyContact, Sitecore.EmailCampaign" />

你可以看看自定义处理器here的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2015-11-18
    • 2021-05-05
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    相关资源
    最近更新 更多