UNPKG

nodemailer

Version:

Easy as cake e-mail sending from your Node.js applications

55 lines (54 loc) 2.05 kB
import type { Logger } from '../shared/index.js'; import type { MimeNodeEnvelope } from '../mime-node/index.js'; import type { default as MailMessage, MailMessageData } from '../mailer/mail-message.js'; import type { default as Mail, SentMessageInfo, SendMailOptions, TransportOptions } from '../mailer/index.js'; /** * Options for the JSON transport */ export interface JSONTransportOptions extends TransportOptions { /** Selects this transport in createTransport */ jsonTransport?: boolean | undefined; /** If true, the message is returned as an object instead of a JSON string */ skipEncoding?: boolean | undefined; } /** * The value the JSON transport hands to the send callback */ export interface JSONSentMessageInfo extends SentMessageInfo { /** The envelope the message was generated with */ envelope: MimeNodeEnvelope; /** Message-ID value of the message */ messageId: string; /** The normalized message as a JSON string, or as the object itself when skipEncoding is set */ message: string | MailMessageData; } /** * Generates a Transport object to generate JSON output * * @constructor * @param optional config parameter */ declare class JSONTransport { mailer: Mail<JSONSentMessageInfo>; options: JSONTransportOptions; name: string; version: string; logger: Logger; constructor(options?: JSONTransportOptions); /** * <p>Compiles a mailcomposer message and forwards it to handler that sends it.</p> * * @param mail MailComposer object * @param done Callback function to run when the sending is completed */ send(mail: MailMessage<JSONSentMessageInfo>, done: (err: Error | null, info?: JSONSentMessageInfo) => void): void; } /** * Type aliases in the layout of @types/nodemailer, so `JSONTransport.Options` style references keep working */ declare namespace JSONTransport { type Options = JSONTransportOptions; type MailOptions = SendMailOptions; type SentMessageInfo = JSONSentMessageInfo; } export default JSONTransport;