在FusionAuth中管理电子邮件模板

时间:2019-04-22 08:54:09

标签: fusionauth

我们正在将FusionAuth集成到我们的3个SaaS应用程序的用户帐户/个人资料系统中。我们将建立约5个角色,并且每个这样的用户的入职过程都不相同。

新的用户注册可能是全新的,可能已经存在,但已换了新角色,或者可能是重新激活了帐户。因此,粗略地说,我们可能需要建立3 x 5 x 2(新用户和回头用户)电子邮件以进行帐户验证,然后再建立相同数量的欢迎电子邮件。每封电子邮件都会有特定的说明文字,电子邮件主题和链接。

在FusionAuth UI中复制电子邮件模板的功能将很有用,但这显然不是一个完整的解决方案。如果我创建多个租户以支持我们的开发,测试和生产版本-能够维护版本控制模板的主列表并将这些电子邮件模板版本中的任何一个链接到任何租户和应用程序,将真是太好了。

如果您熟悉SendGrid-版本化模板非常好,那么可以在模板中使用条件逻辑来减少必须维护的文档总数。

出于我的理智和与这些电子邮件相关的维护负担,对于这些帐户维护电子邮件,我只想使用FusionAuth或SendGrid。由于SendGrid是更强大的电子邮件解决方案,因此它可能是更好的选择。

FusionAuth的用户操作可以完成什么?是否可以通过FusionAuthUI和API禁用所有FusionAuth电子邮件模板?

要从我们的用户界面添加用户,需要创建(或返回)FusionAuth用户,设置FusionAuth应用注册,设置角色,然后触发必要的电子邮件。

如果所有这些都可以配置为可创建/更新和配置用户,然后触发SendGrid模板电子邮件的多步用户操作,那可能真的很酷。

1 个答案:

答案 0 :(得分:0)

电子邮件模板的版本控制和重复选项是个好主意。目前,FusionAuth不支持电子邮件模板版本控制或UI中的复制/重复。您可以在GitHub中将它们作为功能请求打开吗? https://github.com/FusionAuth/fusionauth-issues/issues

我们确实支持模板中的条件逻辑。 FusionAuth文档中有一个简短的教程。 https://fusionauth.io/docs/v1/tech/email-templates/email-templates

要构建条件逻辑,您基本上可以使用FreeMarker支持的任何东西。 https://freemarker.apache.org/

例如

[#if user.data.favoriteColor == "blue"]
  Hi ${user.firstName}, I see you like the color blue.
[#else]
  Hi ${user.firstName}, 
[/#if]

如果您有一些特殊的用例或需要一些帮助,请在FusionAuth Slack渠道中寻求帮助,或在此处询问。

也就是说-SendGrid在电子邮件游戏中,它们可能具有某些功能,这些功能在FusionAuth中不可用。如果您需要许多高级用户功能,我不会试图劝阻您不要使用SendGrid。但是请打开功能请求,以便我们使电子邮件模板尽可能有用。

  

FusionAuth的用户操作可以完成什么?

用户操作是一种自由格式的事件,将使用我们的Webhook配置发送。它们只能在FusionAuth中已经存在的用户上使用,因此可能不适合您的用例。除了用户操作外,您还可以启用user.create等事件-因此,如果有帮助,您可以在FusionAuth中响应这些类型的事件。

  

可以从FusionAuthUI和API禁用所有FusionAuth电子邮件模板吗?

不确定您的意思-您可以禁用SMTP电子邮件配置,该配置隐式禁用所有电子邮件使用。这可以通过系统配置API来完成。 https://fusionauth.io/docs/v1/tech/apis/system#update-the-system-configuration参见systemConfiguration.emailConfiguration.enabled。 FusionAuth首先是API,因此您可以在API中进行的所有操作都可以通过API完成。

  

如果所有这些都可以配置为可创建/更新和配置用户,然后触发SendGrid模板电子邮件的多步用户操作,那可能真的很酷。

用户操作将不适用于此用例。但是,您可以通过较少的API调用来完成此操作。如果您知道该用户尚不存在,则可以使用Combo API(创建用户+注册)来一步一步创建和注册用户。 https://fusionauth.io/docs/v1/tech/apis/registrations#create-a-user-and-registration-combined

如果您忽略了此请求中的角色,将为用户分配在应用程序上配置的任何默认角色。

如果启用注册验证,这将向用户发送您选择的电子邮件。这主要是为了验证打算注册该应用程序的用户。

自定义工作流程的想法很不错,但是请随时在GitHub上发布问题。我会把它想象成一个应用程序的工作流生成器。

示例:

On user registration:
1. Assign role(s): [x] user
                   [ ] manager
                   [ ] admin

2. Send email: [select box for email template]