nestjs-mailable
Version:
A comprehensive NestJS mail package with design patterns for email handling, templating, and multi-provider support
28 lines (27 loc) • 1.51 kB
TypeScript
import { Content, Address, Attachment } from '../interfaces/mail.interface';
export declare class MailableBuilder {
protected content: Content;
subject(subject: string): MailableBuilder;
from(address: string | Address): MailableBuilder;
to(address: string | Address | Array<string | Address>): MailableBuilder;
cc(address: string | Address | Array<string | Address>): MailableBuilder;
bcc(address: string | Address | Array<string | Address>): MailableBuilder;
replyTo(address: string | Address | Array<string | Address>): MailableBuilder;
html(html: string): MailableBuilder;
text(text: string): MailableBuilder;
template(template: string, context?: Record<string, unknown>): MailableBuilder;
with(key: string, value: unknown): MailableBuilder;
with(data: Record<string, unknown>): MailableBuilder;
attach(attachment: Attachment): MailableBuilder;
attachFromPath(path: string, options?: Partial<Attachment>): MailableBuilder;
attachData(content: Buffer | string, filename: string, options?: Partial<Attachment>): MailableBuilder;
header(key: string, value: string): MailableBuilder;
headers(headers: Record<string, string>): MailableBuilder;
tag(tag: string): MailableBuilder;
tags(tags: string[]): MailableBuilder;
metadata(key: string, value: unknown): MailableBuilder;
metadata(data: Record<string, unknown>): MailableBuilder;
build(): Content;
static create(): MailableBuilder;
clone(): MailableBuilder;
}