Sitecore Web Forms для маркетологов 2.3.0 - Отправить письмо с вложением

Возникли проблемы с модулем веб-форм для маркетологов (версия 2.3.0 120216) для Sitecore (версия 6.5.0 120472).

Я настроил форму с действием «Отправлено письмо». Если в форме нет поля «загрузка файла», форма отправляется нормально. Когда он содержит поле «загрузка файла», электронное письмо не отправляется, и я получаю сообщение об ошибке в файле журнала:

Parameter name: stream
Exception: System.ArgumentNullException
Message: Value cannot be null.
Parameter name: stream
Source: System
   at System.Net.Mime.MimePart.SetContent(Stream stream, String name, String mimeType)
   at System.Net.Mail.AttachmentBase..ctor(Stream contentStream, String name, String mediaType)
   at System.Net.Mail.Attachment..ctor(Stream contentStream, String name, String mediaType)
   at Sitecore.Form.Core.Pipelines.ProcessMessage.ProcessMessage.AddAttachments(ProcessMessageArgs args)
   at (Object , Object[] )
   at Sitecore.Pipelines.PipelineMethod.Invoke(Object[] parameters)
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
   at Sitecore.Pipelines.CorePipeline.Run(String pipelineName, PipelineArgs args,    String pipelineDomain, Boolean failIfNotExists)
   at Sitecore.Pipelines.CorePipeline.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
   at Sitecore.Pipelines.CorePipeline.Run(String pipelineName, PipelineArgs args)
   at Sitecore.Form.Submit.SendMessage.ExecuteMail(ID form, AdaptedResultList fields)
   at Sitecore.Form.Submit.SendMail.Execute(ID formid, AdaptedResultList fields, Object[] data)
   at Sitecore.Form.Core.Submit.SubmitActionManager.ExecuteSaving(ID formID, ControlResult[] list, ActionDefinition[] actions, Boolean simpleAdapt, ID sessionID)

Интересно, кто-нибудь сталкивался с этим/знает решение?

Заранее спасибо!

ОБНОВЛЕНИЕ: обнаружил, что предоставление поля «загрузка файла» не является обязательным, если оставить его пустым и отправить форму, электронное письмо все равно будет отправлено. Отправка невозможна только в том случае, если пользователь использует поле «загрузка файла».


person milk tube    schedule 01.10.2012    source источник


Ответы (1)


Мой первый вопрос - спросить, что вы пытаетесь отправить? Первое, что нужно понять, это то, что существует 2 разных способа «отправки электронной почты» при отправке формы. Одна из них — это стандартная готовая задача, которая поставляется с Sitecore. Другая — гораздо более надежная электронная почта, в которой используется модуль Email Campaign Manager. Это имеет огромное значение, так как эти две задачи по отправке имеют очень разные способы обработки электронной почты, и очевидно, что что-то идет не так, но без дополнительной информации невозможно сказать. Мне нужно больше узнать о том, как вы настроили действие отправки, и некоторые файлы журнала, чтобы точно понять.

Однако, если бы это зависело от меня, я бы также создал стандартное сообщение через модуль ECM (если он у вас есть) и использовал его вместо этого. Как я уже сказал, он намного надежнее и может использоваться для того же самого с некоторыми дополнительными наворотами, если они вам нужны.

person divamatrix    schedule 02.10.2012
comment
Спасибо за ответ и предложение! На данный момент мы сосредоточены на реализации модуля «Веб-формы для маркетологов 2.3», поскольку у нас есть альтернативная платформа для кампаний по электронной почте. Цель состоит в том, чтобы иметь форму, которую пользователи могут отправить, которая отправит нам некоторые данные поля ввода вместе с прикрепленным файлом (обычно документом) по электронной почте. Мы уже разрабатывали специальные решения для этого раньше, но пытаемся использовать «Веб-формы для маркетологов», чтобы наши администраторы могли редактировать формы в Sitecore, не имея опыта программирования. - person milk tube; 02.10.2012