Управление шаблонами электронной почты в FusionAuth
Мы интегрируем FusionAuth в нашу систему учетных записей / профилей пользователей для 3 приложений SaaS. У нас будет установлено около 5 ролей, и процесс адаптации для каждого такого пользователя будет разным.
Регистрация нового пользователя может быть новой, существующей, но для новой роли, или может быть повторной активацией учетной записи. Таким образом, грубо говоря, нам может потребоваться создать 3 x 5 x 2 (новых и возвращающихся пользователей) электронных писем для подтверждения аккаунта, а затем такое же количество приветственных писем. Каждое письмо будет иметь конкретный учебный текст, тему письма и ссылки.
Возможность дублирования шаблонов электронной почты в пользовательском интерфейсе FusionAuth была бы полезной, но очевидно, что это не полное решение. Если бы я создал несколько арендаторов для поддержки наших разработок, тестирований и производственных выпусков - было бы здорово иметь возможность вести основной список версионных шаблонов и связывать любую из этих версий шаблонов электронной почты с любым арендатором и приложением.
Если вы знакомы с SendGrid - шаблоны с версиями там довольно хороши, как и условная логика, которую можно использовать в шаблонах, чтобы уменьшить общее количество документов, которые необходимо поддерживать.
Для моего здравого смысла и для бремени обслуживания, связанного с этими электронными письмами, я хотел бы использовать только FusionAuth или только SendGrid для этих электронных писем обслуживания учетной записи. Поскольку SendGrid является более надежным решением для электронной почты, он может быть лучшим выбором.
Что можно сделать с помощью действий пользователя FusionAuth? Можно ли отключить все шаблоны электронной почты FusionAuth из FusionAuth UI и API?
Добавление пользователя из нашего пользовательского интерфейса потребует создания (или возврата) пользователя FusionAuth, настройки регистрации приложения FusionAuth, установки роли и запуска необходимой электронной почты.
Было бы здорово, если бы все это можно было настроить как многоступенчатое действие пользователя, которое создает / обновляет и настраивает пользователя, а затем запускает шаблон электронной почты с шаблоном SendGrid.
1 ответ
Варианты управления версиями и дубликаты шаблонов электронной почты - отличные идеи. В настоящее время FusionAuth не поддерживает управление версиями шаблонов электронной почты или копирование / дублирование в пользовательском интерфейсе. Можете ли вы открыть их как запросы функций в 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, если это полезно.
Можно ли отключить все шаблоны электронной почты FusionAuth из FusionAuthUI и API?
Не уверен, что вы имеете в виду - вы можете отключить настройку электронной почты SMTP, которая неявно отключает любое использование электронной почты. Это может быть сделано через API конфигурации системы. https://fusionauth.io/docs/v1/tech/apis/system. См. systemConfiguration.emailConfiguration.enabled
, FusionAuth - это прежде всего API, поэтому все, что вы можете сделать в API, вы можете сделать через API.
Было бы здорово, если бы все это можно было настроить как многоступенчатое действие пользователя, которое создает / обновляет и настраивает пользователя, а затем запускает шаблон электронной почты с шаблоном SendGrid.
Действия пользователя не помогут с этим вариантом использования. Однако вы можете достичь этого за меньшее количество вызовов API. Если вы знаете, что пользователь еще не существует, вы можете использовать Combo API (Создать пользователя + Регистрация), чтобы создать и зарегистрировать пользователя за один шаг. https://fusionauth.io/docs/v1/tech/apis/registrations
Если вы опустите роли в этом запросе, пользователю будут назначены все роли по умолчанию, настроенные в приложении.
Если вы включите Подтверждение регистрации, вам будет отправлено электронное письмо по вашему выбору. Это в первую очередь предназначено для проверки пользователя, предназначенного для регистрации в приложении.
Идея пользовательского рабочего процесса хороша, однако, не стесняйтесь открывать вопрос на GitHub. Я хотел бы представить его как построитель рабочего процесса для приложения.
Пример:
On user registration:
1. Assign role(s): [x] user
[ ] manager
[ ] admin
2. Send email: [select box for email template]