{"_id":"@chrono-os/email-transactional","_rev":"6-5f12ad5dc5cbf784333bc67a2721a917","name":"@chrono-os/email-transactional","dist-tags":{"latest":"0.4.1"},"versions":{"0.1.0":{"name":"@chrono-os/email-transactional","version":"0.1.0","keywords":["chrono-os","email","resend","transactional","fastify"],"license":"UNLICENSED","_id":"@chrono-os/email-transactional@0.1.0","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"homepage":"https://github.com/SugarHoneyIceTea/email-transactional#readme","bugs":{"url":"https://github.com/SugarHoneyIceTea/email-transactional/issues"},"dist":{"shasum":"462b2cfe8348a216e8a5a88cd90d615287ca3c78","tarball":"https://registry.npmjs.org/@chrono-os/email-transactional/-/email-transactional-0.1.0.tgz","fileCount":16,"integrity":"sha512-OFidAbfKSqwIHKniV2c5sMErFGiDx2/C8Qr7Z/DCk7rF8kHaMEOMYCmZEyuLHAhCo/G632PjEvYHnwH0azI6Bg==","signatures":[{"sig":"MEUCIEh8t9R7Hhygs2koqwz6z0wKgW9qGkMFDDP6Fv2BlK+9AiEAzvdhBAXYLgkWgTgVaMOBNcDHXLhFrTwJK9fFPUS/i3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75455},"main":"./dist/fastify/index.cjs","type":"module","types":"./dist/fastify/index.d.ts","module":"./dist/fastify/index.js","engines":{"node":">=20"},"exports":{"./fastify":{"types":"./dist/fastify/index.d.ts","import":"./dist/fastify/index.js","require":"./dist/fastify/index.cjs"},"./templates":{"types":"./dist/templates/index.d.ts","import":"./dist/templates/index.js","require":"./dist/templates/index.cjs"}},"gitHead":"4c58b8c89d45f1bcfd6d24ad107d914af2e90324","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"repository":{"url":"git+https://github.com/SugarHoneyIceTea/email-transactional.git","type":"git"},"_npmVersion":"11.9.0","description":"Email transacional (Resend) com templates para lead magnet, order paid, manual fallback + unsubscribe token signing + RFC 8058 List-Unsubscribe headers","directories":{},"_nodeVersion":"24.14.0","dependencies":{"resend":"^6.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","tsup":"^8.0.0","vitest":"^1.5.0","fastify":"^5.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"peerDependencies":{"zod":"^3.23.0","fastify":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/email-transactional_0.1.0_1779797706119_0.0026598493183942473","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@chrono-os/email-transactional","version":"0.2.0","keywords":["chrono-os","email","resend","transactional","fastify"],"license":"UNLICENSED","_id":"@chrono-os/email-transactional@0.2.0","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"homepage":"https://github.com/SugarHoneyIceTea/email-transactional#readme","bugs":{"url":"https://github.com/SugarHoneyIceTea/email-transactional/issues"},"dist":{"shasum":"58e84ed2cd7caae13c8cb5e21bb56d8bf55ba640","tarball":"https://registry.npmjs.org/@chrono-os/email-transactional/-/email-transactional-0.2.0.tgz","fileCount":28,"integrity":"sha512-RA05Z35C5MiP/er0iR8ErjlL5rBdcis8EKwSFthSom1NG4qFNr5UDejNhOX0Iib0oLZz98J013k3VdVkZ0i3dQ==","signatures":[{"sig":"MEUCIQCgTZB9WhR09kSvXt0GiFyYKdZ6fujHQqMt47kLBCkVHAIgK7FMq4h12pHSYilDeXIkJnYQeYlmbfoxMCZnG6MYcUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDjSwKVCBGPVQAsP8U/dPmhVnCdEWr8NQzB8lRYCqNEWgIgTO7RtkaaKkSxqzUjyOCZMf1PhmUxIVI5tz35XlMC/as=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166711},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./fastify":{"types":"./dist/fastify/index.d.ts","import":"./dist/fastify/index.js","require":"./dist/fastify/index.cjs"},"./templates":{"types":"./dist/templates/index.d.ts","import":"./dist/templates/index.js","require":"./dist/templates/index.cjs"},"./package.json":"./package.json"},"gitHead":"a03ad97ac85e7ee37b408641396129897b8aeeff","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"repository":{"url":"git+https://github.com/SugarHoneyIceTea/email-transactional.git","type":"git"},"_npmVersion":"11.9.0","description":"Email transacional (Resend) com templates para lead magnet, order paid, manual fallback + unsubscribe token signing + RFC 8058 List-Unsubscribe headers","directories":{},"_nodeVersion":"24.14.0","dependencies":{"resend":"^6.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","tsup":"^8.0.0","vitest":"^1.5.0","fastify":"^5.0.0","typescript":"5.9.3","@types/node":"^20.0.0"},"peerDependencies":{"zod":"^3.23.0","fastify":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/email-transactional_0.2.0_1789068501982_0.8359430533928653","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@chrono-os/email-transactional","version":"0.3.0","keywords":["chrono-os","email","resend","transactional","fastify"],"license":"UNLICENSED","_id":"@chrono-os/email-transactional@0.3.0","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"homepage":"https://github.com/SugarHoneyIceTea/email-transactional#readme","bugs":{"url":"https://github.com/SugarHoneyIceTea/email-transactional/issues"},"dist":{"shasum":"fc9020939821342e8a20af26b3dd9076c2181710","tarball":"https://registry.npmjs.org/@chrono-os/email-transactional/-/email-transactional-0.3.0.tgz","fileCount":28,"integrity":"sha512-81gTFcRZcVlpTYgqHlDZNvJKop8sNEphGzJuHFiZTgG+l0wx6wlegGWrq8ytNm58nTNlJ7wgGDayK73p5y8dLw==","signatures":[{"sig":"MEYCIQCa8JS7E6Ds+QAJNBBDvzokxs6fQr5zrfrpULdlG4DNTAIhAKLifSQ1bwSyiRQF8Rib+oUCSNP2AUNy6eTK/j8GI3bX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCm1qZg5AHslLxDtY3dKrys90O1amlocWoZW0mJGTrpywIgbXQPkJxswI61/x3cziwH38SVs9wJQSgLC9R4qM3JqkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201465},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./fastify":{"types":"./dist/fastify/index.d.ts","import":"./dist/fastify/index.js","require":"./dist/fastify/index.cjs"},"./templates":{"types":"./dist/templates/index.d.ts","import":"./dist/templates/index.js","require":"./dist/templates/index.cjs"},"./package.json":"./package.json"},"gitHead":"aa89a4107673c145b278c89eb72d9a79149da9f1","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"repository":{"url":"git+https://github.com/SugarHoneyIceTea/email-transactional.git","type":"git"},"_npmVersion":"11.9.0","description":"Email transacional (Resend) com templates para lead magnet, order paid, manual fallback + unsubscribe token signing + RFC 8058 List-Unsubscribe headers","directories":{},"_nodeVersion":"24.14.0","dependencies":{"resend":"^6.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","tsup":"^8.0.0","vitest":"^1.5.0","fastify":"^5.0.0","typescript":"5.9.3","@types/node":"^20.0.0"},"peerDependencies":{"zod":"^3.23.0","fastify":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/email-transactional_0.3.0_1789074008597_0.6389012935348806","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@chrono-os/email-transactional","version":"0.3.1","keywords":["chrono-os","email","resend","transactional","fastify"],"license":"UNLICENSED","_id":"@chrono-os/email-transactional@0.3.1","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"homepage":"https://github.com/SugarHoneyIceTea/email-transactional#readme","bugs":{"url":"https://github.com/SugarHoneyIceTea/email-transactional/issues"},"dist":{"shasum":"c1704e51a93a645779e83c4f82f6fe45ae94ee4d","tarball":"https://registry.npmjs.org/@chrono-os/email-transactional/-/email-transactional-0.3.1.tgz","fileCount":28,"integrity":"sha512-qPgnhmK0DGPRuXY8dGnAP/x7AJpraSkJGLiHKq19rAR7JV2BvWwUgLVE+x/cvn6pConYp89yhZ2qOQ9u4MA2Fw==","signatures":[{"sig":"MEUCIA40+U/cTqSbfqLoi+SF/zeDsMvKUH5j3JCT0mo7f14aAiEAtUj1NNrbRI5eRiwDP4sIFn8py2oB+nd0OVswuG5NxxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICeINHLd1DzlrUkzAtViAK5pGKaEf6MjcjiIxdW1E0vhAiEAkN4taO3+0kkxFD7fZXtcgkfV6KNXtxaRZgjLEMlKgXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202239},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core/index.cjs"}},"./fastify":{"import":{"types":"./dist/fastify/index.d.ts","default":"./dist/fastify/index.js"},"require":{"types":"./dist/fastify/index.d.cts","default":"./dist/fastify/index.cjs"}},"./templates":{"import":{"types":"./dist/templates/index.d.ts","default":"./dist/templates/index.js"},"require":{"types":"./dist/templates/index.d.cts","default":"./dist/templates/index.cjs"}},"./package.json":"./package.json"},"gitHead":"0706d28a5c77172a507a30334dc68b8da6dc4c1b","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"repository":{"url":"git+https://github.com/SugarHoneyIceTea/email-transactional.git","type":"git"},"_npmVersion":"11.9.0","description":"Email transacional (Resend) com templates para lead magnet, order paid, manual fallback + unsubscribe token signing + RFC 8058 List-Unsubscribe headers","directories":{},"_nodeVersion":"24.14.0","dependencies":{"resend":"^6.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","tsup":"^8.0.0","vitest":"^1.5.0","fastify":"^5.0.0","typescript":"5.9.3","@types/node":"^20.0.0"},"peerDependencies":{"zod":"^3.23.0","fastify":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/email-transactional_0.3.1_1789076691562_0.7393400810578854","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@chrono-os/email-transactional","version":"0.4.0","keywords":["chrono-os","email","resend","transactional","fastify"],"license":"UNLICENSED","_id":"@chrono-os/email-transactional@0.4.0","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"homepage":"https://github.com/SugarHoneyIceTea/email-transactional#readme","bugs":{"url":"https://github.com/SugarHoneyIceTea/email-transactional/issues"},"dist":{"shasum":"83b7548c9f68fb972f6b6e41725f147066d8803a","tarball":"https://registry.npmjs.org/@chrono-os/email-transactional/-/email-transactional-0.4.0.tgz","fileCount":28,"integrity":"sha512-w0hj8e9QqFzoHdn4bAR1tWT5sPm6zcjBDeLXCLuQqjcSQIafcY7pl3V7hgTc4oXT+eSX1otUknZl1xXXXhcEgA==","signatures":[{"sig":"MEUCIQDUbFuu+xR4hI3/hqDvJFmiz4UQrHuPq5KwOxvLiZv1mwIgPtwCGiooU1Xj0SrjZDrwo4WNTJ8eXvuEyyO7QKUYX/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICRNJQeTZ8FisWfvpNpNSh+6Yh6K0HCL227nuTQfOzLRAiBTGKBfsOAXjXTVuNVPQ+fNRgVKBHZZwgx82iUVb5bJ+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":249391},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core/index.cjs"}},"./fastify":{"import":{"types":"./dist/fastify/index.d.ts","default":"./dist/fastify/index.js"},"require":{"types":"./dist/fastify/index.d.cts","default":"./dist/fastify/index.cjs"}},"./templates":{"import":{"types":"./dist/templates/index.d.ts","default":"./dist/templates/index.js"},"require":{"types":"./dist/templates/index.d.cts","default":"./dist/templates/index.cjs"}},"./package.json":"./package.json"},"gitHead":"79268e750701047d5a45ed603e42aab3bb6944e2","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"repository":{"url":"git+https://github.com/SugarHoneyIceTea/email-transactional.git","type":"git"},"_npmVersion":"11.9.0","description":"Email transacional (Resend) com templates para lead magnet, order paid, manual fallback + unsubscribe token signing + RFC 8058 List-Unsubscribe headers","directories":{},"_nodeVersion":"24.14.0","dependencies":{"resend":"^6.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","tsup":"^8.0.0","vitest":"^1.5.0","fastify":"^5.0.0","typescript":"5.9.3","@types/node":"^20.0.0"},"peerDependencies":{"zod":"^3.23.0","fastify":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/email-transactional_0.4.0_1790782221721_0.9140163149408658","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"_id":"@chrono-os/email-transactional@0.4.1","bugs":{"url":"https://github.com/SugarHoneyIceTea/email-transactional/issues"},"dist":{"shasum":"82557334a34d85d2a24f32d0266fc6b68dd63753","tarball":"https://registry.npmjs.org/@chrono-os/email-transactional/-/email-transactional-0.4.1.tgz","fileCount":28,"integrity":"sha512-ZCTJN8aKYSxBlKS1Xty4SknaSDVcAUXxdMznVtJ32J2brli0Z0HP5ChpWcdIhFB/JAw0qiwJT1yWXQimCja08w==","signatures":[{"sig":"MEUCIQDSsz3OER9UdTh0jPlRUEBEzUQXJjlEcEwSQA3dxUr9CwIgM5J8XKiTpUa6SLTUq7qgfdTI03LbN4J6b0pyfeo8NwI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEkxljLfSlzcwh/irEJuEf9Av8M+8vTdKZkFj4Z4HSswAiAoubLdlFv+USaQnENaY5OGQAaHvuaxP2wcjfG0jiwHEA=="}],"unpackedSize":250110},"main":"./dist/index.cjs","name":"@chrono-os/email-transactional","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core/index.cjs"}},"./fastify":{"import":{"types":"./dist/fastify/index.d.ts","default":"./dist/fastify/index.js"},"require":{"types":"./dist/fastify/index.d.cts","default":"./dist/fastify/index.cjs"}},"./templates":{"import":{"types":"./dist/templates/index.d.ts","default":"./dist/templates/index.js"},"require":{"types":"./dist/templates/index.d.cts","default":"./dist/templates/index.cjs"}},"./package.json":"./package.json"},"gitHead":"5e720525eb6cd10ed68653607db93ab97cf46070","license":"UNLICENSED","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"version":"0.4.1","_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"homepage":"https://github.com/SugarHoneyIceTea/email-transactional#readme","keywords":["chrono-os","email","resend","transactional","fastify"],"repository":{"url":"git+https://github.com/SugarHoneyIceTea/email-transactional.git","type":"git"},"_npmVersion":"11.9.0","description":"Email transacional (Resend) com templates para lead magnet, order paid, manual fallback + unsubscribe token signing + RFC 8058 List-Unsubscribe headers","directories":{},"maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"_nodeVersion":"24.14.0","dependencies":{"resend":"^6.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","tsup":"^8.0.0","vitest":"^1.5.0","fastify":"^5.0.0","typescript":"5.9.3","@types/node":"^20.0.0"},"peerDependencies":{"zod":"^3.23.0","fastify":"^5.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/email-transactional_0.4.1_1790782538668_0.6900963320645022"}}},"time":{"created":"2026-05-26T12:15:05.981Z","modified":"2026-09-30T15:35:39.036Z","0.1.0":"2026-05-26T12:15:06.284Z","0.2.0":"2026-09-10T19:28:22.076Z","0.3.0":"2026-09-10T21:00:08.687Z","0.3.1":"2026-09-10T21:44:51.676Z","0.4.0":"2026-09-30T15:30:21.799Z","0.4.1":"2026-09-30T15:35:38.767Z"},"bugs":{"url":"https://github.com/SugarHoneyIceTea/email-transactional/issues"},"license":"UNLICENSED","homepage":"https://github.com/SugarHoneyIceTea/email-transactional#readme","keywords":["chrono-os","email","resend","transactional","fastify"],"repository":{"url":"git+https://github.com/SugarHoneyIceTea/email-transactional.git","type":"git"},"description":"Email transacional (Resend) com templates para lead magnet, order paid, manual fallback + unsubscribe token signing + RFC 8058 List-Unsubscribe headers","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"readme":"# @chrono-os/email-transactional\n\nE-mail transacional pelo Resend: template HTML com a marca do app, link de descadastro assinado (HMAC-SHA256) e cabeçalhos RFC 8058 (`List-Unsubscribe` + one-click, o botão nativo de descadastro no Gmail, Outlook e Apple Mail).\n\n```bash\nyarn add @chrono-os/email-transactional resend\n```\n\n```ts\nimport { buildEmailService, verifyUnsubscribeToken } from '@chrono-os/email-transactional'\n\nconst email = buildEmailService({\n  resendApiKey: process.env.RESEND_API_KEY,          // sem ela: modo bootstrap, tudo vira { kind: 'skipped' }\n  emailFrom: 'Nina | Minha Marca <nina@meusite.com.br>',\n  unsubscribeSecret: process.env.UNSUBSCRIBE_SECRET, // sem ela: sem link nem cabeçalho de descadastro\n  siteUrl: 'https://meusite.com.br',\n  unsubscribePath: '/cancelar',                      // default\n  branding: { siteName: 'Minha Marca', primaryColor: '#184E77', logoUrl: 'https://meusite.com.br/logo.png' },\n})\n\nconst r = await email.sendEmail({\n  to: 'lead@email.com',\n  subject: 'Seu material chegou',\n  preheader: 'O link está aqui dentro',\n  title: 'Seu material chegou',\n  body: '<p>…</p>',\n  cta: { label: 'Baixar', href: 'https://…' },\n})\n// r: { kind: 'sent', id } | { kind: 'skipped', reason } | { kind: 'failed', error } — nunca lança\n\n// na rota /cancelar\nconst v = verifyUnsubscribeToken(token, process.env.UNSUBSCRIBE_SECRET!) // { ok: true, email } | { ok: false, reason }\n```\n\n## Cabeçalho com logo e rodapé legal (0.4.0)\n\n```ts\nbranding: {\n  siteName: 'Escritório X', primaryColor: '#101640', accentColor: '#2c5fe0',\n  backgroundColor: '#f4f1ea', textColor: '#1d2240',\n  logoUrl: 'https://site.com.br/branding/logo-branco.png', logoWidth: 180, // PNG/JPG; SVG não aparece no Gmail\n  headerBackgroundColor: '#101640', headerAccentColor: '#c8a96a',            // faixa + fio\n  footerNote: null,\n  footerLines: ['Escritório X · CNPJ 00.000.000/0001-00'],\n  footerLinks: [{ label: 'Aviso de privacidade', href: 'https://site.com.br/privacidade' }],\n}\n```\n\nTudo opcional: sem esses campos o e-mail sai como na 0.3. Quem só precisa do layout (envio por\nSMTP próprio, por exemplo) importa `wrapHtml` de `/templates` e manda o HTML pelo transporte dele.\n\n## Modo pronto (0.3.0)\n\n```ts\nawait email.sendEmail({ to, subject, html: meuHtml, text: meuTexto, replyTo: 'contato@escritorio.com.br' })\nawait email.sendEmail({ to, subject, text: corpoEscritoNoPainel })   // só texto\n```\n\nSai como veio, sem layout nem rodapé. No modo template, `branding` pode vir por envio (white-label) e `branding.footerNote` troca ou tira (`null`) a frase do rodapé. `timeoutMs` (default 15 s) evita que um Resend lento trave a request.\n\n## Entradas\n\n| Import | O que tem |\n|---|---|\n| `@chrono-os/email-transactional` ou `/core` | `buildEmailService`, `signUnsubscribeToken`, `verifyUnsubscribeToken` |\n| `/templates` | `wrapHtml`, `escapeHtml`, `BrandingConfig` |\n| `/fastify` | alias antigo do `/core` (nunca teve nada de Fastify); sai na 1.0 |\n\nAté a 0.1.0 este README documentava `emailTransactionalPlugin`, `sendLeadMagnet`, `sendOrderPaid` e `sendOrderManualFallback`, que nunca existiram no código. O envio é um só (`sendEmail`); o conteúdo de cada tipo de e-mail é do app.\n\n## Versionamento\n\nSemVer. Tag `v*` → npmjs.org.\n","readmeFilename":"README.md"}