Umbraco 7.2表格(非轮廓)-自定义电子邮件工作流程

Umbraco 7.2表格(非轮廓)-自定义电子邮件工作流程,umbraco,umbraco7,Umbraco,Umbraco7,我正在使用umbraco 7.2中的新表单功能,并设置了一些表单,所有表单都正常工作。我可以在后台办公室看到入口 我现在想做的是建立一个工作流程,在提交表单时发送电子邮件,但我想在电子邮件中发送表单的内容,但我不想发送电子邮件中的所有内容,只发送部分字段 你知道怎么做吗 新表单中的工作流与旧版本中的工作流工作方式完全相同。您可以使用以下方式创建自己的自定义工作流: using System; using System.Collections.Generic; using System.IO; u

我正在使用umbraco 7.2中的新表单功能,并设置了一些表单,所有表单都正常工作。我可以在后台办公室看到入口

我现在想做的是建立一个工作流程,在提交表单时发送电子邮件,但我想在电子邮件中发送表单的内容,但我不想发送电子邮件中的所有内容,只发送部分字段


你知道怎么做吗

新表单中的工作流与旧版本中的工作流工作方式完全相同。您可以使用以下方式创建自己的自定义工作流:

using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using System.Web;
using System.Xml;
using Umbraco.Forms.Core;
using Umbraco.Forms.Core.Attributes;
using Umbraco.Forms.Core.Enums;
using Umbraco.Forms.Data.Storage;

namespace WebApp.Contour
{
    public class SendEmailToUser : WorkflowType
    {
        // Generates the new workflow details for Contour in the workflow dropdown in Contour
        public SendEmailToUser()
        {
            // Need to generate a new guid for the new custom workflow - add your own GUID
            this.Id = new Guid("PLACE GUID HERE");
            this.Name = "PUT WORKFLOW NAME HERE";
            this.Description = "PUT WORKFLOW DESCRIPTION HERE";
    }

    public override List<Exception> ValidateSettings()
    {
        List<Exception> exceptions = new List<Exception>();

        //if you have any settings, validate them here

        return exceptions;
    }

    public override Umbraco.Forms.Core.Enums.WorkflowExecutionStatus Execute(Record record, RecordEventArgs e)
    {
        //place your workflow execution logic here, "record" gives you access to the fields on the submitted record            

        return WorkflowExecutionStatus.Completed;
    }
}
使用系统;
使用System.Collections.Generic;
使用System.IO;
使用System.Text.RegularExpressions;
使用System.Web;
使用System.Xml;
使用Umbraco.Forms.Core;
使用Umbraco.Forms.Core.Attributes;
使用Umbraco.Forms.Core.Enums;
使用Umbraco.Forms.Data.Storage;
命名空间WebApp.Contour
{
公共类SendEmailToUser:WorkflowType
{
//在Contour中的“工作流”下拉列表中为Contour生成新的工作流详细信息
公共发送电子邮件用户()
{
//需要为新自定义工作流生成新guid-添加您自己的guid
this.Id=新Guid(“此处放置Guid”);
this.Name=“将工作流名称放在此处”;
this.Description=“将工作流描述放在此处”;
}
公共覆盖列表验证设置()
{
列表异常=新列表();
//如果您有任何设置,请在此处验证它们
返回异常;
}
公共覆盖Umbraco.Forms.Core.Enums.WorkflowExecutionStatus执行(记录记录、记录事件参数e)
{
//将工作流执行逻辑放在此处,“记录”允许您访问提交的记录上的字段
返回WorkflowExecutionStatus。已完成;
}
}

有关如何编写工作流的更多详细信息,请参阅本教程中的示例:

我认为OP指的是7.2中新的umbraco表单引擎部分(即,他没有使用contour)。我也对这个问题的答案感兴趣。根据维护Contour/Umbraco表单的Tim Geysens的说法,他们在工作流中使用相同的引擎,所以这段代码应该对两者都适用。你知道怎么做吗?我对此也感兴趣。@howlee是的,你必须使用XSLT转换选择发送电子邮件,然后选择将创建HTML电子邮件的XSLT文件