SiteFinity表单编辑响应后如何向原始提交者而非工作人员发送通知?
SiteFinity表单编辑后向原始提交者发送处理通知的可行解决方案
- 方案1:配置内置工作流触发自定义邮件
- 打开SiteFinity后台「表单」模块,找到对应表单的「工作流」设置页,新增一个触发条件为「表单响应已更新」的工作流步骤
- 步骤动作选择「发送电子邮件」,这里的收件人可以直接绑定表单响应里的提交者邮箱字段,不需要用通知区域的固定值,支持从当前响应条目里动态拉取字段值
- 邮件模板可以自定义插入处理结果、原始提交内容等动态变量,直接设置成你需要的“提交事项已处理完成”的内容样式即可
- 配置完成后可以把默认的编辑后工作人员通知关掉,避免重复发信
- 方案2:订阅表单响应更新事件自定义发信(适合有开发能力的场景)
- 在你的SiteFinity项目里新增类,订阅
IFormEntryUpdatedEvent事件,参考代码如下:
EventHub.Subscribe<IFormEntryUpdatedEvent>(evt => { // 获取当前更新的表单条目 var formEntry = evt.Item; // 读取提交者邮箱字段值,此处替换为你表单里的实际邮箱字段名 var submitterEmail = formEntry.GetValue<string>("SubmitterEmail"); // 读取编辑后的处理结果字段值 var processResult = formEntry.GetValue<string>("ProcessResult"); // 调用SiteFinity内置邮件服务发送自定义邮件 EmailSender.Get().Send(new MailMessage() { To = submitterEmail, Subject = "您的提交事项已处理完成", Body = $"您的申请处理结果:{processResult}" }); });- 把该类注册到SiteFinity的启动配置里,部署后每次表单条目被编辑更新就会自动触发发信给原始提交者
- 在你的SiteFinity项目里新增类,订阅
- 方案3:低代码替代方案(无开发权限场景)
- 把表单响应数据设置为自动同步到内置的「列表」模块或者本地Excel数据表
- 新增一个状态字段标记是否已处理,每次处理完更新状态后,用Office的邮件合并功能批量拉取对应提交者邮箱和处理结果发送通知,适合提交量不大的场景
内容的提问来源于stack exchange,提问作者LisaH
相关产品推荐
相关产品推荐

