@chrono-os/email-transactional
v0.1.0
Published
Email transacional (Resend) com templates para lead magnet, order paid, manual fallback + unsubscribe token signing + RFC 8058 List-Unsubscribe headers
Downloads
96
Maintainers
Readme
@chrono-os/email-transactional
Email transacional (Resend) com templates para lead magnet, order paid, manual fallback. Inclui unsubscribe token signing (HMAC-SHA256) + headers RFC 8058 List-Unsubscribe (botão nativo no Gmail/Outlook/Apple).
Status
🚧 0.1.0 em construção — código será extraído do SobreVivendo Adulto durante a Fase 1 da Trilha C.
Install
yarn add @chrono-os/email-transactionalUso
import { emailTransactionalPlugin } from '@chrono-os/email-transactional/fastify'
await server.register(emailTransactionalPlugin, {
resendApiKey: process.env.RESEND_API_KEY,
emailFrom: 'Nina | MinhaMarca <[email protected]>',
unsubscribeSecret: process.env.UNSUBSCRIBE_SECRET,
branding: {
siteName: 'Minha Marca',
primaryColor: '#184E77',
logoUrl: 'https://meusite.com.br/logo.png',
},
})
// Service exposto via fastify.email
await server.email.sendLeadMagnet({ to: '[email protected]', magnetSlug: 'kit-sos' })
await server.email.sendOrderPaid({ to: '...', productSlug: '...', downloadUrl: '...' })API
emailTransactionalPlugin(opts)— Fastify pluginsendLeadMagnet,sendOrderPaid,sendOrderManualFallback— funções de enviosignUnsubscribeToken,verifyUnsubscribeToken— HMAC-SHA256 com comparação constant-time- Templates HTML inline (de
/templates) aceitamBrandingConfig
Bootstrap mode
Sem RESEND_API_KEY: funções retornam { kind: 'skipped' } + warn. Útil em dev/CI.
Versionamento
SemVer. Tag v* → npmjs.org.
Origem
Extraído de apps/api/src/services/email.service.ts + apps/api/src/lib/unsubscribe-token.ts do SVA.
