UNPKG

mimetext

Version:

RFC-5322 compliant, fully typed and documented email message generator for javascript runtimes.

74 lines (73 loc) 3.28 kB
import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'; import { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'; import { Mailbox } from './Mailbox.js'; import { MIMEMessageContent } from './MIMEMessageContent.js'; export declare class MIMEMessage { envctx: EnvironmentContext; headers: MIMEMessageHeader; boundaries: Boundaries; validTypes: string[]; validContentTransferEncodings: string[]; messages: MIMEMessageContent[]; constructor(envctx: EnvironmentContext); asRaw(): string; asEncoded(): string; dumpTextContent(plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string; hasInlineAttachments(): boolean; hasAttachments(): boolean; getAttachments(): MIMEMessageContent[] | []; getInlineAttachments(): MIMEMessageContent[] | []; getMessageByType(type: string): MIMEMessageContent | undefined; addAttachment(opts: AttachmentOptions): MIMEMessageContent; addMessage(opts: ContentOptions): MIMEMessageContent; private _addMessage; setSender(input: MailboxAddrObject | string, config?: MailboxConfig): Mailbox; getSender(): Mailbox | undefined; setRecipients(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; getRecipients(config?: MailboxConfig): Mailbox | Mailbox[] | undefined; setRecipient(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; setTo(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; setCc(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; setBcc(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; setSubject(value: string): string; getSubject(): string | undefined; setHeader(name: string, value: string | Mailbox | Mailbox[]): string; getHeader(name: string): string | Mailbox | Mailbox[] | undefined; setHeaders(obj: Record<string, string | Mailbox | Mailbox[]>): string[]; getHeaders(): HeadersObject; toBase64(v: string): string; toBase64WebSafe(v: string): string; generateBoundaries(): void; isArray(v: unknown): v is unknown[]; isObject(v: unknown): v is object; } export interface EnvironmentContext { toBase64: (v: string) => string; toBase64WebSafe: (v: string) => string; eol: string; validateContentType: (v: string) => string | false; } export interface Boundaries { mixed: string; alt: string; related: string; } export type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'; export interface ContentHeaders { 'Content-Type'?: string; 'Content-Transfer-Encoding'?: ContentTransferEncoding; 'Content-Disposition'?: string; 'Content-ID'?: string; [index: string]: string | undefined; } export interface ContentOptions { data: string; encoding?: ContentTransferEncoding; contentType: string; headers?: ContentHeaders; charset?: string; } export interface AttachmentOptions extends ContentOptions { inline?: boolean; filename: string; }