@visulima/email
Version:
A comprehensive email library with multi-provider support, crypto utilities, and template engines
49 lines (48 loc) • 1.88 kB
TypeScript
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;