@allthings/cloud-toolkit
Version:
Standardizes the setup of aws, Datadog and other things
37 lines (36 loc) • 1.23 kB
TypeScript
import { SESv2ClientConfig } from '@aws-sdk/client-sesv2';
import { Headers } from 'nodemailer/lib/mailer';
import { Logger } from 'winston';
export interface ISES {
clientConfig?: SESv2ClientConfig;
customSMTPConfig?: {
host: string;
port: number;
secure: boolean;
};
logger?: Logger;
}
export declare const DEFAULT_CLIENT_CONFIG: ISES;
export interface IEmailAttachment {
readonly content: string | Buffer | NodeJS.ReadableStream;
readonly contentType: string;
readonly filename: string;
}
export interface IEmailOptions {
readonly attachments?: readonly IEmailAttachment[];
readonly bcc?: string | readonly string[];
readonly cc?: string | readonly string[];
readonly from: string;
readonly headers?: Headers;
readonly html?: string;
readonly replyTo?: string | readonly string[];
readonly subject: string;
readonly text?: string;
readonly to: string | readonly string[];
}
export type TSendMail = (options: IEmailOptions, responseCallback?: (response: object) => Promise<void>) => Promise<boolean>;
export interface ISESInstance {
sendMail: TSendMail;
}
declare const ses: (userConfig: ISES) => ISESInstance;
export default ses;