1

Sitecore (6.5.0 rev.120472) 的营销人员 Web 表单模块 (2.3.0 rev.120216) 遇到一些问题。

我已经设置了一个带有“已发送电子邮件”操作的表单。当表单没有“文件上传”字段时,表单发送正常。当它确实包含“文件上传”字段时,电子邮件将不会发送,并且我在日志文件中收到错误:

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)

想知道是否有人遇到过这个/知道解决方案?

提前致谢!

更新:发现提供“文件上传”字段不是必填字段,将其留空并提交表单时,电子邮件仍将发送。只有当用户使用“文件上传”字段时,它才会发送失败。

4

1 回答 1

0

我的第一个问题是问你要发送什么?首先要了解的是,在提交表单时有两种不同的“发送电子邮件”方式。一个是 Sitecore 附带的标准类型的开箱即用任务。另一个是使用电子邮件营销管理器模块的更强大的电子邮件。这有很大的不同,因为这两个发送任务处理构建电子邮件的方式非常不同,而且显然有问题,但是如果没有更多信息就不可能说。我必须查看更多关于您如何配置发送操作和一些日志文件的信息才能确定。

不过,如果由我决定,我也会通过 ECM 模块(如果你有的话)创建一个标准消息并使用它。正如我所说,它更强大,如果你想要的话,可以用一些额外的花里胡哨来做同样的事情。

于 2012-10-02T01:20:53.393 回答