Sitecore 对于某些用户,EXM电子邮件中的链接已断开

Sitecore 对于某些用户,EXM电子邮件中的链接已断开,sitecore,sitecore8,sitecore-ecm,sitecore-exm,Sitecore,Sitecore8,Sitecore Ecm,Sitecore Exm,我们遇到以下问题:当我们通过EXM发送电子邮件时,电子邮件正文中的链接对某些用户不起作用 默认情况下,电子邮件正文内的链接始终转换为以下内容: http://domainname/sitecore/RedirectUrlPage.aspx?ec_contact_id=xxxx84B137D2037C7D180&ec_message_id=xxxxB4CEAA3FD1A3B&ec_url=%2fthelinkpath 这显然是出于跟踪原因 但是,一些用户在浏览链接时遇到404错误

我们遇到以下问题:当我们通过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


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

事实上,这是因为以前会话中存储的cookie,谢谢Tchami

Sitecore支持的答案是相同的:

当您使用多个电子邮件打开多封邮件时,会发生此错误 contactId在同一个浏览器中

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

然而,我们不想破坏用户体验,即使这种情况很少出现

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

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


您可以查看自定义处理器的代码。

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