{{{ exports({ to: app.configPath('mail.ts') }) }}} import env from '#start/env' import { defineConfig, transports } from '@adonisjs/mail' const mailConfig = defineConfig({ default: '{{transports[0]}}', /** * The mailers object can be used to configure multiple mailers * each using a different transport or same transport with different * options. */ mailers: { {{#if transports.includes('smtp')}} smtp: transports.smtp({ host: env.get('SMTP_HOST'), port: env.get('SMTP_PORT'), /** * Uncomment the auth block if your SMTP * server needs authentication */ /* auth: { type: 'login', user: env.get('SMTP_USERNAME'), pass: env.get('SMTP_PASSWORD'), }, */ }), {{/if}} {{#if transports.includes('ses')}} ses: transports.ses({ apiVersion: '2010-12-01', region: env.get('AWS_REGION'), credentials: { accessKeyId: env.get('AWS_ACCESS_KEY_ID'), secretAccessKey: env.get('AWS_SECRET_ACCESS_KEY'), }, sendingRate: 10, maxConnections: 5, }), {{/if}} {{#if transports.includes('mailgun')}} mailgun: transports.mailgun({ key: env.get('MAILGUN_API_KEY'), baseUrl: 'https://api.mailgun.net/v3', domain: env.get('MAILGUN_DOMAIN'), }), {{/if}} {{#if transports.includes('sparkpost')}} sparkpost: transports.sparkpost({ key: env.get('SPARKPOST_API_KEY'), baseUrl: 'https://api.sparkpost.com/api/v1', }), {{/if}} {{#if transports.includes('brevo')}} brevo: transports.brevo({ key: env.get('BREVO_API_KEY'), baseUrl: 'https://api.brevo.com/v3', }), {{/if}} {{#if transports.includes('resend')}} resend: transports.resend({ key: env.get('RESEND_API_KEY'), baseUrl: 'https://api.resend.com', }), {{/if}} }, }) export default mailConfig declare module '@adonisjs/mail/types' { export interface MailersList extends InferMailers {} }