UNPKG

@athenna/mail

Version:

The Athenna email handler. Built on top of nodemailer.

38 lines (37 loc) 1.44 kB
/** * @athenna/mail * * (c) João Lenon <lenon@athenna.io> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ import { File, Path } from '@athenna/common'; import { BaseConfigurer } from '@athenna/artisan'; export default class MailConfigurer extends BaseConfigurer { async configure() { await this.logger .task() .addPromise(`Create mail.${Path.ext()} config file`, () => { return new File('./mail').copy(Path.config(`mail.${Path.ext()}`)); }) .addPromise('Update providers of .athennarc.json', () => { return this.rc .pushTo('providers', '@athenna/mail/providers/MailProvider') .pushTo('providers', '@athenna/mail/providers/SmtpServerProvider') .save(); }) .addPromise('Update .env, .env.test and .env.example', () => { const envs = '\nMAIL_MAILER=smtp\n' + 'MAIL_HOST=localhost\n' + 'MAIL_PORT=5025\n' + 'MAIL_USERNAME=\n' + 'MAIL_PASSWORD=\n'; return new File(Path.pwd('.env'), '') .append(envs) .then(() => new File(Path.pwd('.env.test'), '').append(envs)) .then(() => new File(Path.pwd('.env.example'), '').append(envs)); }) .run(); } }