nano-mail
v0.2.1
Published
Mailing with the nodemailer and nano format.
Downloads
15
Maintainers
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: '[email protected]',
cc: '[email protected]',
bcc: '[email protected]'
});
// Створення листа
const email = new Email({
subject: 'Ваш рахунок',
html: '<h1>Дякуємо за вашу покупку!</h1>',
from: 'Магазин <[email protected]>',
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
представляє електронний лист.
- Конструктор:
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(email: Email, data: object, opts?: object): Promise<object | boolean>
Ліцензія
Цей проект ліцензований за умовами ліцензії ISC.