mirror of
https://github.com/dawidd6/action-send-mail.git
synced 2026-09-17 17:09:30 +07:00
55 lines
2.0 KiB
TypeScript
55 lines
2.0 KiB
TypeScript
|
|
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;
|