Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms Orchard CMS使用工作流在提交表单时向多个/不同的电子邮件地址发送电子邮件_Forms_Email_Workflow_Orchardcms_Contacts - Fatal编程技术网

Forms Orchard CMS使用工作流在提交表单时向多个/不同的电子邮件地址发送电子邮件

Forms Orchard CMS使用工作流在提交表单时向多个/不同的电子邮件地址发送电子邮件,forms,email,workflow,orchardcms,contacts,Forms,Email,Workflow,Orchardcms,Contacts,我构建了一个自定义(联系我们)表单,其中包含一个下拉列表,其中包含多个选项,我需要创建一个工作流,根据下拉列表中选择的项目向特定地址发送电子邮件,但我不知道该怎么做,因为orchard中的工作流只允许在提交表单时发送电子邮件,而不基于表单中的任何内容。这可能吗?我是否需要创建一个自定义工作流活动,以某种方式搜索表单内容中用户指定的文本,然后在表单中找到文本时发送电子邮件?如果您可以编写一点C代码,则可以使用C脚本模块提供的决策活动 在发送电子邮件之前运行此活动,您可以执行以下操作: var of

我构建了一个自定义(联系我们)表单,其中包含一个下拉列表,其中包含多个选项,我需要创建一个工作流,根据下拉列表中选择的项目向特定地址发送电子邮件,但我不知道该怎么做,因为orchard中的工作流只允许在提交表单时发送电子邮件,而不基于表单中的任何内容。这可能吗?我是否需要创建一个自定义工作流活动,以某种方式搜索表单内容中用户指定的文本,然后在表单中找到文本时发送电子邮件?

如果您可以编写一点C代码,则可以使用C脚本模块提供的决策活动

在发送电子邮件之前运行此活动,您可以执行以下操作:

var office = "{Content.Fields.ContactUs.Office}";
var email = "";

if (office == "LONDON") email = "london@[...].com";
else if (office == "PARIS") email = "jacques@[...].com";
else if (office == "GLOBAL") email = "world@[...].com;

Workflow.SetState("EmailAddress", email);
SetOutcome("Done");
{Workflow.State:EmailAddress}
决策活动只有一种可能的结果:“完成”。在“发送电子邮件”活动中,您将获得如下电子邮件地址:

var office = "{Content.Fields.ContactUs.Office}";
var email = "";

if (office == "LONDON") email = "london@[...].com";
else if (office == "PARIS") email = "jacques@[...].com";
else if (office == "GLOBAL") email = "world@[...].com;

Workflow.SetState("EmailAddress", email);
SetOutcome("Done");
{Workflow.State:EmailAddress}

注意:如果使用Orchard 1.8和“Workflow.SetState()”方法,请参见以下内容:

在使用工作流发送电子邮件时,您可以使用令牌检索所填写表单的数据。我非常确定您必须编写新的工作流活动。避免这种情况的唯一方法是将电子邮件发送到具有条件过滤器的网关地址,您可以将其用于路由逻辑。