UNPKG

@visulima/email

Version:

A comprehensive email library with multi-provider support, crypto utilities, and template engines

49 lines (48 loc) 1.88 kB
import type { EmailOptions } from "../types.d.ts"; import type { DkimOptions, EmailSigner } from "./types.d.ts"; /** * DKIM signer implementation */ export declare class DkimSigner implements EmailSigner { /** * Sanitizes a display name for use in quoted email headers per RFC 5322. * Removes/replaces CR, LF, tabs with space, escapes backslashes and quotes, * and strips non-printable control characters. * @param name The display name to sanitize. * @returns The sanitized display name, or empty string if nothing remains. */ private static sanitizeDisplayName; /** * Formats an email address for use in email headers. * @param address The email address object to format. * @param address.email The email address string. * @param address.name Optional display name for the email address. * @returns The formatted email address string in RFC 5322 format. */ private static formatAddress; /** * Formats email addresses for headers. * @param addresses The email address(es) to format (single or array). * @returns The formatted email addresses string (comma-separated if multiple). */ private static formatAddresses; private readonly options; /** * Creates a new DKIM signer. * @param options DKIM signing options. */ constructor(options: DkimOptions); /** * Signs an email message with DKIM. * @param email The email options to sign. * @returns The email options with DKIM signature header added. * @throws {Error} When signing fails (e.g., invalid private key). */ sign(email: EmailOptions): Promise<EmailOptions>; } /** * Creates a DKIM signer instance. * @param options DKIM signing options. * @returns A new DkimSigner instance. */ export declare const createDkimSigner: (options: DkimOptions) => DkimSigner;