System.MissingFieldException при отправке электронной почты с использованием ECM

Я пытаюсь настроить ECM для рассылки новостей. (Sitecore 6.6, ECM 1.3 - обновление любого из них не является опцией)

Существует проблема, когда я пытаюсь отправить сообщение, оно остается в папке "Обработка" и никогда не перемещается в папку "Отправленные".

В журналах, которые я вижу, есть исключение System.MissingFieldException и поле (обратите внимание, что это не поле Sitecore, а поле в классе), которое отсутствует, это FieldIDs.TrafficType. FieldIDs - это статический класс, определенный в сборке 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 ответ

Я знал, что это случится. Я боролся с этим некоторое время и сумел решить проблему через пару минут после публикации здесь...

Тем не мение.

Проблема была в неправильной сборке Sitecore.EmailCampaign, которая использовалась в проекте ранее. Кто-то, должно быть, добавил это, и это не использовалось в течение долгого времени. Когда я установил чистую версию Sitecore, над которой я работаю, а затем Sitecore ECM, отправка электронных писем работала как прелесть. Поэтому я сравнил библиотеки на обоих сайтах и ​​обновил те, которые были разными, и, что удивительно, электронные письма теперь отправляются без каких-либо проблем.

Ранее я использовал Sitecore.EmailCampaign версии 1.3.1, а теперь я обновился до Sitecore.EmailCampaign версии 1.3.3. Также я обновляю все dll, от которого зависит EmailCampaign.

Довольно специфическая проблема, но, возможно, этот вопрос кому-то поможет.

Другие вопросы по тегам