strapi / rfcs

RFCs for Strapi future changes
68 stars 33 forks source link

Request — Create custom email templates #10

Open Aurelsicoko opened 4 years ago

Aurelsicoko commented 4 years ago

This issue has been opened because we (as the core team) are looking for contributors to help us co-develop the feature.

No link to the roadmap available

Motivations

By default, Strapi setups an SMTP server to send emails. We do it to send "Forgot password" and "Email confirmation" emails. Some users raised the idea to create custom email templates. Even, if it's not the main goal of a CMS, there are interesting use cases where the functionality is required.

Tasks

  1. Find a contributor
  2. Define the needs
  3. Discuss a solution and technical implementation
  4. Ask for design
  5. Submit RFC

Risks

surgeharb commented 4 years ago

It would be nice to have this feature, plus separating email plugin from the "Users & Permissions" would be an improvement for the system.

I believe having a separate email plugin built-in to manage templates (and custom ones as well), manage SMTP details and even sending email to your users from a form in the admin panel would be a plus?

I would be happy to implement this plugin and integrate it into Strapi. What are the next steps that we should take to proceed into development?

Aurelsicoko commented 4 years ago

@surgeharb Yes, I agree, we should separate the Email Management from the current plugin "Users & Permissions". I would suggest following these steps:

  1. Clearly define what we expect from the Email plugin.
  2. Should it be part of the core?
  3. Is there any impact on the current product?

Here are my thoughts

  1. The plugin should provide an API to easily send an email to one or multiple users at the same time. The plugin should be based on a template system. I've no idea about the template format (HTML, Markdown, other).

  2. No. It's almost impossible to ensure an SMTP server working on every computer without bugs. Right now, we try to avoid any development and functionalities based on emails. The only way to ensure an email is sent is to rely on a third-party provider such as Gmail, MailChimp, SendGrid, etc. As an OSS we cannot create a strong dependency with a third-party.

  3. Yes. The Users & Permissions plugin, it could also impact the current RBAC development. We should also create a new menu item in the Settings section.