smtp-server-as-promised
Version:
Promisify smtp-server module
46 lines (45 loc) • 2.11 kB
TypeScript
/// <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;