strapi-provider-email-gmail-oauth2-image-base64

0.1.1 • Public • Published

strapi-provider-email-gmail-oauth2-image-base64

Demo

Demo result/

Note

This package is a fork of the strapi-provider-email-nodemailer-gmail-oauth2. This is to meet the new required name for Strapi Beta (Also changed the OAuth from 2LO Service to 3LO client) and add feature to support insert base64 image in html content of email.

Usage

  1. Enable Gmail API
  2. Create OAuth Credential
  3. Set the Authorized Redirect to https://developers.google.com/oauthplayground
  4. Take note of your Client ID and Client Secret.
  5. Navigate to https://developers.google.com/oauthplayground.
  6. In settings, activate "Use your own OAuth credentials". Copy your Client ID and Client Secret.
  7. Set scopes to https://mail.google.com.
  8. Exchange Authorization Code.
  9. Take note of Refresh and Access Token.
  10. Configure the provider in [strapi-dir]/config/plugins.
Variable Type Description Required Default
provider string The name of the provider you use (in this case is gmail-oauth2-image-base64) yes
providerOptions object Provider options yes
providerOptions.username string An email that you want to use to send email with the provider (this email is configured at above step) yes
providerOptions.clientSecret string OAuth2 account API Client Secret (step 4) yes
providerOptions.refreshToken string OAuth2 account API Refresh Token (step 9) yes
providerOptions.accessToken string OAuth2 account API Access Token (step 9) yes
settings object Settings no {}
settings.defaultFrom string Default sender mail address no undefined
settings.defaultReplyTo string | array Default address or addresses the receiver is asked to reply to no undefined

Example

Path - config/plugins.js

module.exports = ({ env }) => ({
  // ...
  email: {
    provider: "gmail-oauth2-image-base64",
    providerOptions: {
      username: env("EMAIL_USERNAME"),
      clientId: env("EMAIL_CLIENT_ID"),
      clientSecret: env("EMAIL_CLIENT_SECRET"),
      refreshToken: env("EMAIL_CLIENT_REFRESH_TOKEN"),
      accessToken: env("EMAIL_CLIENT_ACCESS_TOKEN"),
    },
    settings: {
      defaultFrom: env("EMAIL_USERNAME"),
      defaultReplyTo: env("EMAIL_USERNAME"),
    },
  },
  // ...
});

TIP: You can using environment file (.env) in the root of project for store variable.

Enable/Disable base64 image in html email content

If you email don't have base64 image, you can disable this feature by adding a key in options email like this:

await strapi.plugins.email.services.email.sendTemplatedEmail(
      {
        to: data?.email,
        hasBase64Image: false,
      },
      emailTemplate,
      {
        data,
      }
    );

Resources

Links

Installation

npm i -s strapi-provider-email-gmail-oauth2-image-base64

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.1
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.1.1
    1
  • 0.1.0
    0

Package Sidebar

Install

npm i strapi-provider-email-gmail-oauth2-image-base64

Homepage

strapi.io

Weekly Downloads

1

Version

0.1.1

License

MIT

Unpacked Size

60.8 kB

Total Files

5

Last publish

Collaborators

  • bugatino