面向营销人员的Sitecore Web表单2.3.0-发送带有附件的邮件

面向营销人员的Sitecore Web表单2.3.0-发送带有附件的邮件,sitecore,attachment,sitecore6,web-forms-for-marketers,Sitecore,Attachment,Sitecore6,Web Forms For Marketers,Sitecore(6.5.0版本120472)的营销人员Web表单模块(2.3.0版本120216)遇到一些问题 我已经设置了一个带有“发送电子邮件”操作的表单。当表单没有“文件上载”字段时,表单将正常发送。当它确实包含“文件上载”字段时,电子邮件不会发送,并且我在日志文件中得到一个错误: Parameter name: stream Exception: System.ArgumentNullException Message: Value cannot be null. Parameter

Sitecore(6.5.0版本120472)的营销人员Web表单模块(2.3.0版本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)
想知道是否有人遇到过这个问题/知道解决方案

提前谢谢


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

我的第一个问题是问您试图发送的是什么?首先要了解的是,表单提交时有两种不同的“发送电子邮件”方式。一种是Sitecore附带的标准开箱即用任务。另一个是使用电子邮件活动管理器模块的更健壮的电子邮件。这是一个巨大的区别,因为这两个发送任务处理电子邮件的方式非常不同,显然有些地方出了问题,但是如果没有更多的信息,这是不可能的。我必须了解更多关于如何配置发送操作和一些日志文件的信息,以确保理解


不过,如果由我决定,我也会通过ECM模块(如果您有)创建一条标准消息,并改用它。正如我所说的,它更加健壮,如果你需要的话,可以用它来做一些额外的铃铛和口哨

谢谢你的回复和建议!目前,我们专注于实施“营销人员网络表单2.3”模块,因为我们有一个电子邮件活动的替代平台。目标是有一个用户可以提交的表单,它将通过电子邮件向我们发送一些输入字段数据以及附加文件(通常是文档)。我们以前已经为此开发了自定义解决方案,但正在尝试使用“营销人员的Web表单”,这样我们的管理员就可以在Sitecore中编辑表单,而无需有编码经验。