New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@ellenode/maily

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ellenode/maily

Maily es un paquete minimalista para el envío de correos electrónicos en Node.js utilizando nodemailer, con soporte para plantillas HTML basadas en Handlebars y una sintaxis fluida y sencilla.

latest
Source
npmnpm
Version
1.0.10
Version published
Weekly downloads
8
33.33%
Maintainers
1
Weekly downloads
 
Created
Source

Maily 📧

Maily es un paquete minimalista para el envío de correos electrónicos en Node.js utilizando nodemailer, con soporte para plantillas HTML basadas en Handlebars y una sintaxis fluida y sencilla.

🚀 Instalación

npm install @ellenode/maily

⚙️ Configuración

Maily depende de los siguientes valores de entorno, que debes definir en tu archivo .env:

VariableDescripción
MAIL_HOSTServidor SMTP (ej. smtp.gmail.com)
MAIL_PORTPuerto SMTP (generalmente 465 o 587)
MAIL_FROMCorreo emisor por defecto
MAIL_PASSWORDContraseña o token de la cuenta emisor

✉️ Ejemplo Básico de Uso

import { Mail } from '@ellenode/maily';
import { env } from '@ellenode/envy';

Mail.from(env('MAIL_FROM'))
  .to('destinatario@ejemplo.com')
  .subject('Asunto del correo')
  .content('<h1>Hola, este es un correo de prueba</h1>')
  .send();

🛠️ Envío de Plantillas HTML con Datos

Puedes enviar correos utilizando archivos .html:

import { Mail } from '@ellenode/maily';

await Mail.from(env('MAIL_FROM'))
    .to('destinatario@ejemplo.com')
    .html(basePath('./reporte.html'))
    .data({
        empleados: empleados,
        fecha: '2022-01-01'
    })
    .subject('Envío de reporte anual')
    .send();

Mail.from(env('MAIL_FROM'))
  .to('destinatario@ejemplo.com')
  .cc('copia@ejemplo.com')
  .bcc('oculto@ejemplo.com')
  .subject('Correo con adjunto')
  .content('<p>Se adjunta el documento solicitado.</p>')
  .attachments([
    { filename: 'documento.pdf', path: './ruta/documento.pdf' }
  ])
  .send();

✅ Métodos Disponibles

MétodoDescripción
from(emisor)Define el remitente (aunque se usa MAIL_FROM por defecto)
to(destinatario)Destinatario del correo
cc(copia)Copia visible
bcc(copia)Copia oculta
subject(asunto)Asunto del correo
content(html)Contenido HTML directo
html(rutaHtml)Ruta a plantilla .html para usar con Handlebars
data(objeto)Datos a inyectar en la plantilla
attachments(archivos)Adjuntos como array de objetos { filename, path }
send()Envía el correo

🐞 Manejo de Errores y Respuesta

Por defecto, los errores se lanzan automáticamente y los envíos exitosos se imprimen en consola. Si deseas personalizar este comportamiento:

Mail.from(env('MAIL_FROM'))
  .to('destinatario@ejemplo.com')
  .subject('Correo')
  .content('<p>Prueba</p>')
  .onSuccess(info => console.log('Enviado:', info.response))
  .onError(error => console.error('Error al enviar:', error))
  .send();

📦 Dependencias

nodemailer @ellenode/envy handlebars fs

📝 Licencia

MIT © 2025 Cristian Guzmán

Keywords

maily

FAQs

Package last updated on 23 Sep 2026

Related posts