UNPKG

smtp-server-as-promised

Version:
46 lines (45 loc) 2.11 kB
/// <reference types="node" /> import net from "net"; export { Logger, LoggerLevel } from "nodemailer/lib/shared"; import tls from "tls"; import { SMTPServer, SMTPServerAddress, SMTPServerAuthentication, SMTPServerAuthenticationResponse, SMTPServerDataStream, SMTPServerOptions, SMTPServerSession } from "smtp-server"; export * from "smtp-server"; export interface SMTPServerAsPromisedServerAddress { address: string; family: string; port: number; } export interface SMTPServerAsPromisedOptions extends SMTPServerOptions { onConnect?: never; onAuth?: never; onMailFrom?: never; onRcptTo?: never; onData?: never; onClose?: never; onError?: never; } export declare class SMTPServerAsPromised { server: SMTPServer; protected closed?: boolean; protected errorHandler?: (error: Error) => Promise<void>; constructor(options?: SMTPServerAsPromisedOptions); listen(options?: net.ListenOptions): Promise<SMTPServerAsPromisedServerAddress>; close(): Promise<void>; updateSecureContext(options: tls.TlsOptions): void; destroy(): Promise<void>; /** This method can be overriden in subclass */ protected onAuth(auth: SMTPServerAuthentication, session: SMTPServerSession): Promise<SMTPServerAuthenticationResponse>; /** This method can be overriden in subclass */ protected onClose(session: SMTPServerSession): Promise<void>; /** This method can be overriden in subclass */ protected onConnect(session: SMTPServerSession): Promise<void>; /** This method can be overriden in subclass */ protected onData(stream: SMTPServerDataStream, session: SMTPServerSession): Promise<void>; /** This method can be overriden in subclass */ protected onMailFrom(address: SMTPServerAddress, session: SMTPServerSession): Promise<void>; /** This method can be overriden in subclass */ protected onRcptTo(address: SMTPServerAddress, session: SMTPServerSession): Promise<void>; /** This method can be overriden in subclass */ protected onError(error: Error): Promise<void>; } export default SMTPServerAsPromised;