nano-mail

0.2.1 • Public • Published

nano-mail

English README

nano-mail

nano-mail — це модуль для відправки електронних листів за допомогою Nodemailer, зручного для Node.js з використанням nano-format.

Огляд

Цей пакет дозволяє створювати, форматувати та відправляти електронні листи з вкладеннями, а також визначати одержувачів через поля to, cc та bcc. Він підтримує шаблонізацію HTML-листів та заміну плейсхолдерів у листах, а також відправлення листів за допомогою Nodemailer.

Встановлення

npm install nano-mail

Використання

Створення електронного листа

import { Address, Attachment, Email, Target, mailer, mail } from 'nano-mail';

// Створення одержувачів
const target = Target.from({
  to: 'ivan@example.com',
  cc: 'petr@example.com',
  bcc: 'admin@example.com'
});

// Створення листа
const email = new Email({
  subject: 'Ваш рахунок',
  html: '<h1>Дякуємо за вашу покупку!</h1>',
  from: 'Магазин <info@shop.com>',
  target: target
});

// Додавання вкладення
const attachment = new Attachment({
  filename: 'invoice.pdf',
  path: '/path/to/invoice.pdf'
});

email.attach(attachment);

Відправка листа

// Налаштування транспорту для Nodemailer
const transportConfig = {
  host: 'smtp.example.com',
  port: 587,
  secure: false, // true для 465, false для інших портів
  auth: {
    user: 'username',
    pass: 'password'
  }
};

// Відправка листа
const data = {
  name: 'Іван',
  purchase: 'товар 123'
};

mail(email, data, { mailer: mailer(transportConfig) })
  .then(info => {
    console.log('Лист відправлено:', info);
  })
  .catch(err => {
    console.error('Помилка під час відправлення листа:', err);
  });

Документація

Address

Address представляє електронну адресу.

  • Конструктор: new Address(name: string, address: string)
  • Методи:
    • toString(): Повертає адресу у форматі "Name ".
    • toObject(): Повертає об'єкт з полями name та address.
    • static from(source: string | object): Address | null: Створює екземпляр з рядка або об'єкта.

Attachment

Attachment представляє вкладення до листа.

  • Конструктор: new Attachment(opts: object)
  • Методи:
    • formatForNodemailer(): Форматує вкладення для Nodemailer.

Email

Email представляє електронний лист.

  • Конструктор: new Email(opts: object)
  • Методи:
    • attach(attachment: Attachment): Додає вкладення до листа.
    • formatForNodemailer(): Форматує лист для Nodemailer.

Target

Target представляє одержувачів листа.

  • Конструктор: new Target()
  • Методи:
    • add(type: 'to' | 'cc' | 'bcc', address: string | Address | string[] | Address[]): Додає адресу до відповідного поля.
    • formatForNodemailer(): Форматує одержувачів для Nodemailer.
    • static from(source: string | object): Target | null: Створює екземпляр з рядка або об'єкта.

mailer (createMailer)

mailer створює поштовий транспорт для Nodemailer.

  • Функція: mailer(transportConfig: object): object

mail

mail відповідає за відправку листа.

  • Функція: mail(email: Email, data: object, opts?: object): Promise<object | boolean>

Ліцензія

Цей проект ліцензований за умовами ліцензії ISC.

Package Sidebar

Install

npm i nano-mail

Weekly Downloads

2

Version

0.2.1

License

ISC

Unpacked Size

50 kB

Total Files

21

Last publish

Collaborators

  • yaro.page