使用ECM发送电子邮件时出现System.MissingFieldException

时间:2014-09-16 08:19:54

标签: sitecore sitecore6 sitecore-ecm

我正在尝试为简报广告系列配置ECM。 (Sitecore 6.6,ECM 1.3 - 更新其中任何一个都不是一个选项)

有一个问题,当我尝试发送邮件时,它会粘贴在Processing文件夹中,并且永远不会移动到Sent文件夹。

在日志中我可以看到有一个异常System.MissingFieldException和字段(注意这不是Sitecore字段,而是类中的字段)缺少的是FieldIDs.TrafficType。 FieldID是Sitecore.Analytics程序集中定义的静态类。

ManagedPoolThread #8 10:11:42 ERROR EmailCampaign: Field not found: 'FieldIDs.TrafficType'.
Exception: System.MissingFieldException
Message: Field not found: 'FieldIDs.TrafficType'.
Source: Sitecore.EmailCampaign
   at Sitecore.Modules.EmailCampaign.Core.Pipelines.DispatchNewsletter.DeployAnalytics.AddCampaignItem(MessageItem message)
   at Sitecore.Modules.EmailCampaign.Core.Pipelines.DispatchNewsletter.DeployAnalytics.ProcessCampaign(MessageItem message)
   at Sitecore.Modules.EmailCampaign.Core.Pipelines.DispatchNewsletter.DeployAnalytics.Process(DispatchNewsletterArgs args)

当我用反射器反编译这个类并试图看到这个字段的值时,我得到一个例外,说“由于你的可见性设置,因为没有加载或者可能隐藏了”。看起来好像这个字段是以某种不同的方式定义的,我没有包括在内。

我尝试关闭负责创建广告系列的处理器(此处理器中存在异常)因为我不需要对我的简报进行分析而且部分帮助 - 邮件已移至“已发送”文件夹。但它从未发送给收件人,因为没有创建活动,现在异常被发送到另一个发送阶段。

如果您有任何关于如何解决此问题的帮助或建议,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我知道会发生这种情况。我挣扎了一段时间,并设法在发布这里后几分钟解决问题......

反正。

问题在于先前在项目中使用的Sitecore.EmailCampaign asemmbly不正确。有人必须添加它并且很长时间没有使用它。当我安装Sitecore的干净版本时,我正在使用Sitecore ECM,发送电子邮件作为魅力。因此,我对两个网站中的图书馆进行了比较,并对那些不同的图书馆进行了更新,令人惊讶的是,现在发送的电子邮件没有任何问

之前我使用的是Sitecore.EmailCampaign版本1.3.1,现在我已更新到Sitecore.EmailCampaign版本1.3.3。我还更新了EmailCampaign所依赖的所有dll。

非常具体的问题,但也许这个问题可以帮助某人。