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 错误。日志总是显示以下内容:

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

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

最佳答案

确实,这是因为以前 session 中存储的 cookie,谢谢 Tchami。

Sitecore 支持的答案是相同的:

This error occurs when you open multiple mails with multiple contactId's in the same browser.

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

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

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

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

您可以看一下自定义处理器的代码here .

关于sitecore - EXM 电子邮件中的链接对于某些用户而言已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36941763/

相关文章:

c# - 如何从外部系统在 Sitecore 中添加目标/事件/结果?

solr - Sitecore Solr 重建核心功能导致 'Could not create instance'

ssl - 站点核心 ECM : Could not establish trust relationship for the SSL/TLS secure channel

Sitecore Analytics Api - 电子邮件发送、打开和点击率

sitecore - 浏览 Sitecore 内容树时出现 NullReferenceException

sitecore - 如何在Sitecore中动态创建WizardFormPage?

asp.net - 如何从 Sitecore 中的另一个子布局访问子布局控件?

lucene - 如何通过 Item Web API 访问 Sitecore Lucene Search?

Sitecore ECM - 请勿发送至重复的电子邮件地址

image - Sitecore 8 RTE 图像大小调整