适用于营销商的Sitecore Web表单2.3.0 - 发送带附件的邮件

时间:2012-10-01 01:28:08

标签: sitecore attachment sitecore6 web-forms-for-marketers

使用Sitecore的Web Forms for Marketers Module(2.3.0 rev.120216)遇到一些问题(6.5.0 rev.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)

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

提前致谢!

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

1 个答案:

答案 0 :(得分:0)

我的第一个问题是问你要发送的是什么?首先要了解的是,在表单提交上有两种不同的“发送电子邮件”方式。一个是Sitecore附带的标准开箱即用任务。另一个是使用Email Campaign Manager模块的更强大的电子邮件。它产生了巨大的差异,因为这两个发送任务有不同的方式来处理构建电子邮件,显然出现了问题,但没有更多信息就不可能说。我必须看到更多关于如何配置发送操作和一些日志文件的信息。

如果由我决定,我还会通过ECM模块创建标准消息(如果你有的话)并使用它。正如我所说,它更加强大,如果你想要的话可​​以用来做一些额外的铃声和口哨声。