What is @strapi/provider-email-sendmail?
@strapi/provider-email-sendmail is an email provider for Strapi that uses the Sendmail service to send emails. It integrates seamlessly with Strapi's email plugin, allowing you to send emails from your Strapi application using Sendmail.
What are @strapi/provider-email-sendmail's main functionalities?
Send Email
This feature allows you to send an email using the Sendmail service. You can specify the recipient, sender, subject, and content of the email in both text and HTML formats.
const strapi = require('strapi');
strapi.plugins['email'].services.email.send({
to: 'recipient@example.com',
from: 'sender@example.com',
subject: 'Test Email',
text: 'This is a test email sent using @strapi/provider-email-sendmail.',
html: '<p>This is a test email sent using @strapi/provider-email-sendmail.</p>'
});
Other packages similar to @strapi/provider-email-sendmail
@strapi/provider-email-nodemailer
@strapi/provider-email-nodemailer is another email provider for Strapi that uses Nodemailer to send emails. It offers more flexibility and supports various transport methods, including SMTP, AWS SES, and more.
@strapi/provider-email-sendgrid
@strapi/provider-email-sendgrid is an email provider for Strapi that uses SendGrid to send emails. It is suitable for applications that require high deliverability and advanced email analytics.
@strapi/provider-email-mailgun
@strapi/provider-email-mailgun is an email provider for Strapi that uses Mailgun to send emails. It is ideal for applications that need reliable email delivery and comprehensive email tracking.
strapi-provider-email-sendmail
Resources
Links
Prerequisites
You need to have the plugin strapi-plugin-email
installed in you Strapi project.
Installation
yarn add strapi-provider-email-sendmail
npm install strapi-provider-email-sendmail --save
Configuration
Variable | Type | Description | Required | Default |
---|
provider | string | The name of the provider you use | yes | |
providerOptions | object | Will be directly given to require('sendmail') . Please refer to sendmail doc. | no | {} |
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 |
providerOptions.dkim | object | boolean | DKIM parameters having two properties: { privateKey, keySelector } | no | false |
:warning: The Shipper Email (or defaultfrom) may also need to be changed in the Email Templates
tab on the admin panel for emails to send properly
Example
Path - config/plugins.js
module.exports = ({ env }) => ({
email: {
provider: 'sendmail',
settings: {
defaultFrom: 'myemail@protonmail.com',
defaultReplyTo: 'myemail@protonmail.com',
},
},
});
Example with DKIM
Using DKIM (DomainKeys Identified Mail) can prevent emails from being considered as spam. More details about this subject can be found in the discussion on the Strapi forum: Unsolved problem: emails goes to spam!
Generate the keys using OpenSSL
openssl genrsa -out dkim-private.pem 1024
openssl rsa -in dkim-private.pem -pubout -out dkim-public.pem
Path - config/plugins.js
module.exports = ({ env }) => ({
email: {
provider: 'sendmail',
providerOptions: {
dkim: {
privateKey: 'replace-with-dkim-private-key',
keySelector: 'abcd',
},
},
settings: {
defaultFrom: 'myemail@protonmail.com',
defaultReplyTo: 'myemail@protonmail.com',
},
},
});