UNPKG

nuxt-mail

Version:

Adds email sending capability to a Nuxt.js app. Adds a server route, an injected variable, and uses nodemailer to send emails.

35 lines 1.15 kB
import { addImports, addPlugin, addServerHandler, addServerPlugin, createResolver, defineNuxtModule, useRuntimeConfig } from "@nuxt/kit"; import defu from "defu"; import checkOptions from "./check-options.js"; import normalizeOptions from "./normalize-options.js"; const resolver = createResolver(import.meta.url); export default defineNuxtModule({ meta: { compatibility: { nuxt: ">=3.0.0" }, configKey: "mail", name: "nuxt-mail" }, setup: (optionsInput, nuxt) => { const options = defu(optionsInput, nuxt.options.runtimeConfig.mail, { message: [], smtp: null }); nuxt.options.runtimeConfig.mail = normalizeOptions(options); if (!nuxt.options._prepare) { const resolvedOptions = normalizeOptions(useRuntimeConfig().mail); checkOptions(resolvedOptions); } addServerPlugin(resolver.resolve("./server-plugin")); addServerHandler({ handler: resolver.resolve("./server-handler.post"), route: "/mail/send" }); addImports([{ from: resolver.resolve("./composable"), name: "useMail" }]); addPlugin(resolver.resolve(`./plugin`)); } });