@visulima/email
Version:
A comprehensive email library with multi-provider support, crypto utilities, and template engines
140 lines (139 loc) • 5.34 kB
TypeScript
import type { EmailAddress } from "../../types.d.ts";
/**
* Formats a single email address as "Name <email>" or just "email" if no name is provided.
* @param address The email address object to format.
* @returns The formatted email address string.
*/
export declare const formatAddress: (address: EmailAddress) => string;
/**
* Formats an array of email addresses or a single address as "Name <email>" format.
* @param addresses The email address(es) to format (single or array).
* @returns An array of formatted email address strings.
*/
export declare const formatAddresses: (addresses: EmailAddress | EmailAddress[]) => string[];
/**
* Formats a single email address for SendGrid API format.
* @param address The email address object to format.
* @returns An object with email and optional name properties.
*/
export declare const formatSendGridAddress: (address: EmailAddress) => {
email: string;
name?: string;
};
/**
* Formats email addresses for SendGrid API format.
* @param addresses The email address(es) to format (single or array).
* @returns An array of objects with email and optional name properties.
*/
export declare const formatSendGridAddresses: (addresses: EmailAddress | EmailAddress[]) => {
email: string;
name?: string;
}[];
/**
* Formats email addresses as a simple string array containing only email addresses.
* @param addresses The email address(es) to format (single or array).
* @returns An array of email address strings.
*/
export declare const formatAddressEmails: (addresses: EmailAddress | EmailAddress[]) => string[];
/**
* Formats an email address for Azure API format.
* @param address The email address object to format.
* @returns An object with email and optional displayName properties.
*/
export declare const formatAzureAddress: (address: EmailAddress) => {
displayName?: string;
email: string;
};
/**
* Formats email addresses for Azure API format.
* @param addresses The email address(es) to format (single or array).
* @returns An array of objects with email and optional displayName properties.
*/
export declare const formatAzureAddresses: (addresses: EmailAddress | EmailAddress[]) => {
displayName?: string;
email: string;
}[];
/**
* Formats an email address for Mailjet API format.
* @param address The email address object to format.
* @returns An object with Email and optional Name properties.
*/
export declare const formatMailjetAddress: (address: EmailAddress) => {
Email: string;
Name?: string;
};
/**
* Formats email addresses for Mailjet API format.
* @param addresses The email address(es) to format (single or array).
* @returns An array of objects with Email and optional Name properties.
*/
export declare const formatMailjetAddresses: (addresses: EmailAddress | EmailAddress[]) => {
Email: string;
Name?: string;
}[];
/**
* Formats an email address for Mandrill API format.
* @param address The email address object to format.
* @param type The recipient type (default: "to").
* @returns An object with email, optional name, and type properties.
*/
export declare const formatMandrillAddress: (address: EmailAddress, type?: string) => {
email: string;
name?: string;
type: string;
};
/**
* Formats email addresses for Mandrill API format.
* @param addresses The email address(es) to format (single or array).
* @param type The recipient type (default: "to").
* @returns An array of objects with email, optional name, and type properties.
*/
export declare const formatMandrillAddresses: (addresses: EmailAddress | EmailAddress[], type?: string) => {
email: string;
name?: string;
type: string;
}[];
/**
* Formats an email address for Postal API format.
* @param address The email address object to format.
* @returns An object with address and optional name properties.
*/
export declare const formatPostalAddress: (address: EmailAddress) => {
address: string;
name?: string;
};
/**
* Formats email addresses for Postal API format.
* @param addresses The email address(es) to format (single or array).
* @returns An array of objects with address and optional name properties.
*/
export declare const formatPostalAddresses: (addresses: EmailAddress | EmailAddress[]) => {
address: string;
name?: string;
}[];
/**
* Formats email addresses for MailPace API format as formatted strings.
* @param addresses The email address(es) to format (single or array).
* @returns An array of formatted email address strings.
*/
export declare const formatMailpaceAddresses: (addresses: EmailAddress | EmailAddress[]) => string[];
/**
* Formats an email address for Zeptomail API format.
* @param address The email address object to format.
* @returns An object with address and optional name properties.
*/
export declare const formatZeptomailAddress: (address: EmailAddress) => {
address: string;
name?: string;
};
/**
* Formats email addresses for Zeptomail API format.
* @param addresses The email address(es) to format (single or array).
* @returns An array of objects with email_address containing address and optional name properties.
*/
export declare const formatZeptomailAddresses: (addresses: EmailAddress | EmailAddress[]) => {
email_address: {
address: string;
name?: string;
};
}[];