【问题标题】:Orchard CMS Send Email to Multiple/Different Email Addresses Upon Form Submission Using WorkflowsOrchard CMS 在使用工作流程提交表单时将电子邮件发送到多个/不同的电子邮件地址
【发布时间】:2014-09-08 17:10:44
【问题描述】:

我构建了一个自定义(联系我们)表单,其中包含一个包含多个选项的下拉列表,我需要创建一个工作流,根据下拉列表中的哪个项目被选中,将电子邮件发送到特定地址,但我没有了解如何执行此操作,因为果园中的工作流程仅允许在提交表单时发送电子邮件,而不是基于表单中的任何内容。这可能吗?我是否需要创建一个自定义工作流活动,以某种方式在表单内容中搜索用户指定的文本,然后在表单中找到该文本时发送电子邮件?

【问题讨论】:

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

标签: forms email workflow orchardcms contacts


【解决方案1】:

如果你能写一点 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}

注意:如果使用 Orchard 1.8 和“Workflow.SetState()”方法,请参阅:https://orchard.codeplex.com/discussions/568460

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 2018-01-08
    相关资源
    最近更新 更多