nodemailer-postmark-transport
Version:
Postmark transport for Nodemailer
49 lines (40 loc) • 1.45 kB
TypeScript
import { Models, Client } from 'postmark';
declare module 'nodemailer-postmark-transport' {
type Callback<T> = (error: (Error | null), result: (T | null)) => void;
export interface SentMessageInfo {
messageId?: string;
accepted: Array<Models.MessageSendingResponse>;
rejected: Array<Models.MessageSendingResponse>;
originalResults: Array<Models.MessageSendingResponse>;
}
export interface PostmarkTransportOptions {
auth?: { apiKey: string; };
postmarkOptions?: Models.ClientOptions.Configuration
}
export class PostmarkTransport {
constructor(options?: PostmarkTransportOptions);
name: string;
version: string;
canSendBatch: boolean;
client: Client;
send(mail: any, callback?: Callback<SentMessageInfo>): Promise<SentMessageInfo>;
sendBatch(mail: any[], callback?: Callback<SentMessageInfo>): Promise<SentMessageInfo>;
}
export default function (options?: PostmarkTransportOptions): PostmarkTransport;
}
declare module "nodemailer" {
export function createTransport(transport: PostmarkTransport): Transporter<SentMessageInfo>;
}
declare module "nodemailer/lib/mailer" {
interface Hash<T> { [key: string]: T; }
export interface Options {
messageStream?: string;
metadata?: Hash<string>;
tag?: string;
trackLinks?: Models.LinkTrackingOptions;
trackOpens?: boolean;
templateId?: number;
templateAlias?: string;
templateModel?: object;
}
}