Changes have been merged upstream and can be found here: https://github.com/yutikom/strapi-provider-email-nodemailer
Please use the official repo for the Strapi plugin. Archiving this.
This release of the nodemailer provider for Strapi is compatible with Strapi 3.x
npm i strapi-provider-email-nodemailer
In your config/plugins.js file:
module.exports = ({ env }) => ({
email: {
provider: 'nodemailer',
providerOptions: {
host: env('SMTP_HOST', 'smtp.example.com'),
port: env('SMTP_PORT', 587),
username: env('SMTP_USERNAME'),
password: env('SMTP_PASSWORD'),
// ... any custom nodemailer options
},
settings: {
defaultFrom: '[email protected]',
defaultReplyTo: '[email protected]',
}
},
});
Check out the available options for nodemailer: https://nodemailer.com/about/
You can override the default configurations for specific environments. E.g. for
NODE_ENV=development
in config/env/development/plugins.js:
module.exports = ({ env }) => ({
email: {
provider: 'nodemailer',
providerOptions: {
host: 'localhost',
port: 1025,
ignoreTLS: true,
},
},
});
The above setting is useful for local development with maildev.
To send an email from anywhere inside Strapi:
await strapi.plugins['email'].services.email.send({
to: '[email protected]',
from: '[email protected]',
subject: 'Hello world',
text: 'Hello world',
html: `<h4>Hello world</h4>`
});
The following fields are supported:
Field | Description |
---|---|
from | Email address of the sender |
to | Comma separated list or an array of recipients |
cc | Comma separated list or an array of recipients |
bcc | Comma separated list or an array of recipients |
subject | Subject of the email |
text | Plaintext version of the message |
html | HTML version of the message |
attachments | Array of objects See: https://nodemailer.com/message/attachments/ |
Check your firewall to ensure that requests are allowed. If it doesn't work with
port: 465,
secure: true
try using
port: 587,
secure: false
to test if it works correctly.