CAROLINA DOCS


Email

The "email" app has a service that provides a way of sending e-mails using nodemailer.

The Email Service

When the "email" service is loaded, it creates a nodemailer instance based on configuration. If configured to send mail, a real nodemailer SMTP transport will be created. If not, the e-mail that would be send will be printed to the console.

App.$email.sendMail({
from: "webmaster@example.com",
to: "recipient@example.com",
subject: "Hello",
text: "Hi!
});

The arguments passed to sendMail on the "email" service are directly passed to the sendMail method of nodemailer transport. The "email" service first checks if it should send e-mail, and if not, prints the would-be e-mail to the console (for development purposes).

Configuration

The default configuration of the "email" app is this:

module.exports = {
sendMail: false,
smtpHost: process.env.SMTP_HOST || 'localhost',
smtpPort: process.env.SMTP_PORT || 465,
smtpIsSecure: true,
smtpUser: process.env.SMTP_USER || 'user',
smtpPassword: process.env.SMTP_PASSWORD || 'password'
};

The value of sendMail is used to determine how nodemailer should be constructed, and whether or not to attempt to send mail over SMTP. The ohter values are used to construct a nodemailer transport (if sendMail is true).

Publishable Files

You can publish the configuration for the "email" app to config/email.js using the following command:

node . publish --config email

CAROLINA DOCS