diff --git a/config/plugins.js b/config/plugins.js index b92b956..4acbc0a 100644 --- a/config/plugins.js +++ b/config/plugins.js @@ -21,13 +21,23 @@ module.exports = ({ env }) => { }, email: { config: { - provider: "sendgrid", + provider: "nodemailer", providerOptions: { - apiKey: env("SENDGRID_API_KEY"), + host: env("SMTP_HOST"), + port: env("SMTP_PORT"), + auth: { + user: env("SMTP_USERNAME"), + pass: env("SMTP_PASSWORD"), + }, + secure: false, + requireTLS: true, + tls: { + rejectUnauthorized: false, + }, }, settings: { - defaultFrom: env("AREBYTE_EMAIL"), - defaultReplyTo: env("AREBYTE_EMAIL"), + defaultFrom: env("EMAIL_FROM"), + defaultReplyTo: env("EMAIL_REPLY_TO"), }, }, }, @@ -35,13 +45,13 @@ module.exports = ({ env }) => { config: { provider: "strapi-provider-upload-do", providerOptions: { - key: env('DO_SPACE_ACCESS_KEY'), - secret: env('DO_SPACE_SECRET_KEY'), - endpoint: env('DO_SPACE_ENDPOINT'), - space: env('DO_SPACE_BUCKET'), - directory: env('DO_SPACE_DIRECTORY'), - cdn: env('DO_SPACE_CDN'), - } + key: env("DO_SPACE_ACCESS_KEY"), + secret: env("DO_SPACE_SECRET_KEY"), + endpoint: env("DO_SPACE_ENDPOINT"), + space: env("DO_SPACE_BUCKET"), + directory: env("DO_SPACE_DIRECTORY"), + cdn: env("DO_SPACE_CDN"), + }, }, }, }; diff --git a/package-lock.json b/package-lock.json index b113489..a5477e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@strapi/plugin-cloud": "4.25.11", "@strapi/plugin-i18n": "4.25.11", "@strapi/plugin-users-permissions": "4.25.11", + "@strapi/provider-email-nodemailer": "^5.5.1", "@strapi/provider-email-sendgrid": "^5.4.0", "@strapi/strapi": "4.25.11", "better-sqlite3": "8.6.0", @@ -5882,6 +5883,19 @@ "npm": ">=6.0.0" } }, + "node_modules/@strapi/provider-email-nodemailer": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@strapi/provider-email-nodemailer/-/provider-email-nodemailer-5.5.1.tgz", + "integrity": "sha512-2S24mei4yzoduhSBs6/EMXcSoV19WbI8hTwORuYRuX799oUO6/RnQkSfAxL3Na9donSWAAp2K4twDZprd0oaIA==", + "dependencies": { + "lodash": "4.17.21", + "nodemailer": "6.9.1" + }, + "engines": { + "node": ">=18.0.0 <=22.x.x", + "npm": ">=6.0.0" + } + }, "node_modules/@strapi/provider-email-sendgrid": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@strapi/provider-email-sendgrid/-/provider-email-sendgrid-5.4.0.tgz", @@ -15005,6 +15019,14 @@ "node": ">= 16.0.0" } }, + "node_modules/nodemailer": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.1.tgz", + "integrity": "sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/nodemailer-fetch": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz", diff --git a/package.json b/package.json index 85165b9..30ad15e 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@strapi/plugin-cloud": "4.25.11", "@strapi/plugin-i18n": "4.25.11", "@strapi/plugin-users-permissions": "4.25.11", + "@strapi/provider-email-nodemailer": "^5.5.1", "@strapi/provider-email-sendgrid": "^5.4.0", "@strapi/strapi": "4.25.11", "better-sqlite3": "8.6.0", diff --git a/src/api/email/services/email.js b/src/api/email/services/email.js new file mode 100644 index 0000000..a8cbb82 --- /dev/null +++ b/src/api/email/services/email.js @@ -0,0 +1,34 @@ +module.exports = ({ env }) => ({ + key: "plugin_users-permissions_email", + value: { + reset_password: { + display: "Email.template.reset_password", + icon: "sync", + options: { + from: { + name: "Arebyte Plugin", + email: "no-reply@arebyte.com" + }, + response_email: "", + object: "Reset password", + message: "

We heard that you lost your password. Sorry about that!

\n\n

But don’t worry! You can use the following link to reset your password:

\n

<%= URL %>?code=<%= TOKEN %>

\n\n

Thanks.

" + } + }, + email_confirmation: { + display: "Email.template.email_confirmation", + icon: "check-square", + options: { + from: { + name: "Arebyte Plugin", + email: "no-reply@arebyte.com" + }, + response_email: "", + object: "Account confirmation", + message: "

Thank you for registering!

\n\n

You have to confirm your email address. Please click on the link below.

\n\n

<%= URL %>?confirmation=<%= CODE %>

\n\n

Thanks.

" + } + } + }, + type: "object", + environment: null, + tag: null +});