4.0.1 • Published 12 months ago

@lamen-tribe/strapi-provider-email-mailjet v4.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

strapi-provider-email-mailjet

Strapi email service for Mailjet

Prerequisites

You will need to have the plugin strapi-plugin-email installed in you Strapi project.

Installation

# using yarn
yarn add strapi-provider-email-mailjet

# using npm
npm i strapi-provider-email-mailjet

Configuration

VariableTypeDescriptionRequiredDefault
providerstringThe name of the provider you useyes
providerOptionsobjectProvider optionsyes
providerOptions.publicApiKeystringMailjet public API key. See your MailJet API keysyes
providerOptions.secretApiKeystringMailjet secret API key. See your MailJet API keysyes
settingsobjectSettingsno{}
settings.defaultFromstringDefault sender mail addressyesundefined
settings.defaultFromNamestringDefault sender nameyesundefined
settings.defaultTostringDefault receiver mail addressyesundefined
settings.defaultToNamestringDefault receiver nameyesundefined

Example config file

Path - config/plugins.js

module.exports = ({ env }) => ({
  // ...
  email: {
    config: {
      provider: "strapi-provider-email-mailjet",
        providerOptions: {
          publicApiKey: env("MAILJET_PUBLIC_KEY"),
          secretApiKey: env("MAILJET_SECRET_KEY"),
        },
        settings: {
          defaultFrom: "scott@ijs.to",
          defaultFromName: "Scott from iJS.to",
          defaultTo: "john.doe@ijs.to",
          defaultToName: "Johnny Bravodoe",
        },
      },
      // ...
    }
});

API

Strapi Mailjet Plugin enables you to interact with Mailjet API via custom methods listed below.

This API is a subset of the MailJet API.

Sending API

You can easily send emails via

Usage example

Single recipient

await strapi.plugins.email.services.email.send({
  to: "scott@ijs.to",
  toName: "Scott Agirs",
  subject: "👋 Hey there!",
  text: `Text version of your email`,
  html: `<html />`,
});

Multiple recipients

Note taht toName is not used here, instead it's added to each recipient object of the array.

await strapi.plugins.email.services.email.send({
  to: [
    { email: "scott@ijs.to", toName: "Scott Agirs" },
    { email: "chili@spice.oo", toName: "🦄" },
  ],
  subject: "👋 Hey y'all!",
  text: `Text version of your email`,
  html: `<html />`,
});

Custom Methods

You can request additional actions by submitting a Feature Request or a Pull Request.

Usage example

Note: To access the custom methods API, you need to call it vai strapi.plugins.email.provider.CUSTOM_METHOD and NOT strapi.plugins.email.services.email.CUSTOM_METHOD

await strapi.plugins.email.provider
  .addContactToList({
    id: "email@example.com",
    listId: "mailingListId",
  })
  .catch((error) => console.log(error))
  .then((response) => console.log(response));

addContactToList

FieldTypeDescriptionRequiredDefault
listIdStringMailJet List ID to which add contactyes
idStringContact's email or MailJet IDyes

createContact

FieldTypeDescriptionRequiredDefault
emailStringContact's emailyes
nameStringFull name of the contactno

updateContact

FieldTypeDescriptionRequiredDefault
dataobjectContact Metadata. API Referenceyes
idStringContact's email or MailJet IDyes

createContactList

FieldTypeDescriptionRequiredDefault
nameStringName of the contact listyes

removeContactFromList

FieldTypeDescriptionRequiredDefault
listIdStringMailJet List ID from which to remove contactyes
idStringContact's email or MailJet IDyes

retrieveContact

FieldTypeDescriptionRequiredDefault
contactIdStringContact's email or MailJet IDyes

subscribeContactToList

Use this to re-subscribe existing contact.

FieldTypeDescriptionRequiredDefault
listIdStringMailJet List ID to which to subscribe the contactyes
idStringContact's email or MailJet IDyes

unsubscribeContactFromList

FieldTypeDescriptionRequiredDefault
listIdStringMailJet List ID from which to unsubscribe contactyes
idStringContact's email or MailJet IDyes

Licence

Credits

Authors: Scott Agirs

Initially published by sboutet06

4.0.1

12 months ago

4.0.0

12 months ago