index.js
1.1 KB
/**
* `@drama/email` 公共面 —— 唯一对外导出口(§3 契约)。
*
* 设计纪律:包内不读 `process.env`、不在模块顶层建任何投递连接
* (transport / SES client 只在 provider 工厂内、由注入凭据构造)。
* 本包只负责「渲染并投递单封事务性邮件」,不持有验证码的生成/校验/频控逻辑。
*
* @typedef {Object} SendMessage
* @property {string|string[]} to
* @property {string} subject
* @property {string} [html]
* @property {string} [text]
* @property {string} [from] 缺省取 credentials.defaultFrom
* @property {string} [reply_to]
* @property {string[]} [cc]
* @property {string[]} [bcc]
*
* @typedef {Object} SendResult
* @property {string} message_id
* @property {string} provider
* @property {string|string[]} to
*
* @typedef {Object} Provider
* @property {(msg: SendMessage) => Promise<SendResult>} send
*/
export { createEmail } from './email.js'
export { EmailError } from './map-error.js'
export { createFakeProvider } from './providers/fake.js'
export { default as emailDbSchema } from './db/tables/index.cjs'