{"_id":"@aws-blocks/bb-email-client","_rev":"8-f5aea7b331fab3ea255fc29da237bcae","name":"@aws-blocks/bb-email-client","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.0":{"name":"@aws-blocks/bb-email-client","version":"0.1.0","author":{"name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws-blocks/bb-email-client@0.1.0","maintainers":[{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"}],"dist":{"shasum":"c43a7600782e9a84a95db459b07e774334487b22","tarball":"https://registry.npmjs.org/@aws-blocks/bb-email-client/-/bb-email-client-0.1.0.tgz","fileCount":35,"integrity":"sha512-8r6jn4HX0RvwVlRpfhwxk+uYE1sQbk/1kl75ak1qG4770f0TXrYfFoshkAF12JlqnlSez7ZKFK361IFREHubsg==","signatures":[{"sig":"MEYCIQC0u0s1WFr6Ym/XW5Epdyq5dkTrB7/Do9ysPlt+lEiA4AIhAP5ls52VAquB4eAuz927IYm7oPIYN2OLCXzEka4VT3mf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99302},"type":"module","exports":{".":{"cdk":{"types":"./dist/index.cdk.d.ts","default":"./dist/index.cdk.js"},"types":"./dist/index.mock.d.ts","browser":"./dist/index.browser.js","default":"./dist/index.mock.js","aws-runtime":"./dist/index.aws.js"}},"gitHead":"639f6fad510d473abd72286351b3294a646d9895","scripts":{"test":"node --test dist/*.test.js","build":"tsc --build","prebuild":"node ../../scripts/generate-version.mjs EmailClient"},"_npmUser":{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"},"_npmVersion":"10.9.8","description":"Transactional email sending via Amazon SES.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@aws-blocks/core":"^0.1.0","@aws-blocks/bb-logger":"^0.1.0","@aws-sdk/client-sesv2":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"peerDependencies":{"constructs":"^10.6.0","aws-cdk-lib":"^2.257.0"},"_npmOperationalInternal":{"tmp":"tmp/bb-email-client_0.1.0_1781566784390_0.32238952011006705","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aws-blocks/bb-email-client","version":"0.1.1","author":{"name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws-blocks/bb-email-client@0.1.1","maintainers":[{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"}],"dist":{"shasum":"a3cfc1e0687b50a91f436d83c98bcf6a1540a602","tarball":"https://registry.npmjs.org/@aws-blocks/bb-email-client/-/bb-email-client-0.1.1.tgz","fileCount":35,"integrity":"sha512-5jlj5q51nLFgiVZNniV66/bf6RSjqqGyL7QRsems+WHukw1Zl/2XFzO3Z5f4JP+XjXXs8NhbL06+cC7aFOKqKQ==","signatures":[{"sig":"MEQCIDcRnx238EeLvew7pqF1+04wU2KqGfrH078VBnzCfAeZAiBCFwFjukLL1QHcHMjGSXLGXBPtkDJK73kS+TLDkEQ2Ig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99302},"type":"module","exports":{".":{"cdk":{"types":"./dist/index.cdk.d.ts","default":"./dist/index.cdk.js"},"types":"./dist/index.mock.d.ts","browser":"./dist/index.browser.js","default":"./dist/index.mock.js","aws-runtime":"./dist/index.aws.js"}},"gitHead":"ed3e0ad5724d28c2a2fb0ea9207dfc9e941257f9","scripts":{"test":"node --test dist/*.test.js","build":"tsc --build","prebuild":"node ../../scripts/generate-version.mjs EmailClient"},"_npmUser":{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"},"_npmVersion":"10.9.8","description":"Transactional email sending via Amazon SES.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@aws-blocks/core":"^0.1.1","@aws-blocks/bb-logger":"^0.1.1","@aws-sdk/client-sesv2":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"peerDependencies":{"constructs":"^10.6.0","aws-cdk-lib":"^2.257.0"},"_npmOperationalInternal":{"tmp":"tmp/bb-email-client_0.1.1_1781633789580_0.6774303987716426","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aws-blocks/bb-email-client","version":"0.1.2","author":{"name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws-blocks/bb-email-client@0.1.2","maintainers":[{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"}],"dist":{"shasum":"83f154e4f20d45d653a4c7a39d3ee149bfd1e07a","tarball":"https://registry.npmjs.org/@aws-blocks/bb-email-client/-/bb-email-client-0.1.2.tgz","fileCount":35,"integrity":"sha512-hw/SwncRwV2o08YS2T9QnBuWAh/mdeH4/UX5lFtWvEYMMVTbteyWVFBTW3kjXqeEZ5fd4SLdO1avaX+Zian/CQ==","signatures":[{"sig":"MEQCIA4grSpk45g3MZ04thFQRE8O8/uUhv8Y2AIGMqhHXvtxAiBk0CrhSObg4DqcwPK/m/Q3XQWjX01AEqmcRq/eE39YJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99323},"type":"module","exports":{".":{"cdk":{"types":"./dist/index.cdk.d.ts","default":"./dist/index.cdk.js"},"types":"./dist/index.mock.d.ts","browser":"./dist/index.browser.js","default":"./dist/index.mock.js","aws-runtime":"./dist/index.aws.js"}},"gitHead":"4c367f4fb4d80d7b98dfe0296573d48aaf4b1ddf","scripts":{"test":"node --test --test-concurrency=1 dist/*.test.js","build":"tsc --build","prebuild":"node ../../scripts/generate-version.mjs EmailClient"},"_npmUser":{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"},"_npmVersion":"10.9.8","description":"Transactional email sending via Amazon SES.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@aws-blocks/core":"^0.1.2","@aws-blocks/bb-logger":"^0.1.1","@aws-sdk/client-sesv2":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"peerDependencies":{"constructs":"^10.6.0","aws-cdk-lib":"^2.257.0"},"_npmOperationalInternal":{"tmp":"tmp/bb-email-client_0.1.2_1781753359962_0.4178253163592536","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aws-blocks/bb-email-client","version":"0.1.3","author":{"name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws-blocks/bb-email-client@0.1.3","maintainers":[{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"}],"dist":{"shasum":"c810ba0d868e67c93eb7aabfec6b513941c8d5cd","tarball":"https://registry.npmjs.org/@aws-blocks/bb-email-client/-/bb-email-client-0.1.3.tgz","fileCount":36,"integrity":"sha512-T5y+DJXl8Xh9thVURCEKneGkVwjGLNHeV1UkiDqAM8LhxNqBDvQsMOT+56GWXYf7GtE3+LK6m9PAvrgJNVMixw==","signatures":[{"sig":"MEUCIFtivUIE8ZmP1kVLpQmWpqDBNXsnXvtaGofd08hvTQcZAiEAhTyrP3SCUHuEfVypZvzWQV/AMa7hU09T+F90NPpx284=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102369},"type":"module","exports":{".":{"cdk":{"types":"./dist/index.cdk.d.ts","default":"./dist/index.cdk.js"},"types":"./dist/index.mock.d.ts","browser":"./dist/index.browser.js","default":"./dist/index.mock.js","aws-runtime":"./dist/index.aws.js"}},"gitHead":"3328f36992d39dc20b0c0d760e4a38c866ddfbbd","scripts":{"test":"node --test --test-concurrency=1 dist/*.test.js","build":"tsc --build","prebuild":"node ../../scripts/generate-version.mjs EmailClient"},"_npmUser":{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"},"_npmVersion":"10.9.8","description":"Transactional email sending via Amazon SES.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@aws-blocks/core":"^0.1.2","@aws-blocks/bb-logger":"^0.1.2","@aws-sdk/client-sesv2":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"peerDependencies":{"constructs":"^10.6.0","aws-cdk-lib":"^2.257.0"},"_npmOperationalInternal":{"tmp":"tmp/bb-email-client_0.1.3_1782192246435_0.41905773385964684","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@aws-blocks/bb-email-client","version":"0.1.4","author":{"name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws-blocks/bb-email-client@0.1.4","maintainers":[{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"}],"homepage":"https://github.com/aws-devtools-labs/aws-blocks/tree/main/packages/bb-email-client#readme","bugs":{"url":"https://github.com/aws-devtools-labs/aws-blocks/issues"},"dist":{"shasum":"dfc86a93760c98279b4cab0d53cc574ce23ebd42","tarball":"https://registry.npmjs.org/@aws-blocks/bb-email-client/-/bb-email-client-0.1.4.tgz","fileCount":36,"integrity":"sha512-nBGkRJgqqxnzwg+Au+dJV6C+ZULr8L5Y8zJTxkRXYHWOh3xyVSCbG4UKyr8xmRtbh/UFOeQ73jeqFpIAyDDOng==","signatures":[{"sig":"MEYCIQCpQKokI4yf3lbCu/GxxllftKgpt84+Srt5ZCj7/WztdAIhAI0CwMb/DrwyTaQ0j3szy8ZsFsvs9QYJ2BNhJmU0Y06q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-blocks%2fbb-email-client@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":102717},"type":"module","exports":{".":{"cdk":{"types":"./dist/index.cdk.d.ts","default":"./dist/index.cdk.js"},"types":"./dist/index.mock.d.ts","browser":"./dist/index.browser.js","default":"./dist/index.mock.js","aws-runtime":"./dist/index.aws.js"}},"gitHead":"164b106810e2b4f7801426158feae82a4ccbe3d4","scripts":{"test":"node --test --test-concurrency=1 dist/*.test.js","build":"tsc --build","prebuild":"node ../../scripts/generate-version.mjs EmailClient"},"_npmUser":{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"},"repository":{"url":"git+https://github.com/aws-devtools-labs/aws-blocks.git","type":"git","directory":"packages/bb-email-client"},"_npmVersion":"10.9.8","description":"Transactional email sending via Amazon SES.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@aws-blocks/core":"^0.2.0","@aws-blocks/bb-logger":"^0.1.4","@aws-sdk/client-sesv2":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"peerDependencies":{"constructs":"^10.6.0","aws-cdk-lib":"^2.257.0"},"_npmOperationalInternal":{"tmp":"tmp/bb-email-client_0.1.4_1787230460231_0.023295191284059324","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@aws-blocks/bb-email-client","version":"0.1.5","author":{"name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws-blocks/bb-email-client@0.1.5","maintainers":[{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"}],"homepage":"https://github.com/aws-devtools-labs/aws-blocks/tree/main/packages/bb-email-client#readme","bugs":{"url":"https://github.com/aws-devtools-labs/aws-blocks/issues"},"dist":{"shasum":"1c870a4249392e6233f63aa6130b2bb84cd7f943","tarball":"https://registry.npmjs.org/@aws-blocks/bb-email-client/-/bb-email-client-0.1.5.tgz","fileCount":36,"integrity":"sha512-VArNP5ximzLDiDjuODvjxsPbQECQgXTY/A1ISLdVIUIWrIRS68adHlfRvao+kt91zd1zQoO5uoiHLrlEWNNxlg==","signatures":[{"sig":"MEUCICc8nev2X/RfbG3XgUfEJAPiTtt5uDCA6W4n0hwl7EnRAiEAk9MYbiJjldolJgGEUROq0TH5poT2HLUhRPlGfw9BHQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-blocks%2fbb-email-client@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":102739},"type":"module","exports":{".":{"cdk":{"types":"./dist/index.cdk.d.ts","default":"./dist/index.cdk.js"},"types":"./dist/index.mock.d.ts","browser":"./dist/index.browser.js","default":"./dist/index.mock.js","aws-runtime":"./dist/index.aws.js"}},"gitHead":"04d4b21b1cae9600c44a2fc63c0020ca21894316","scripts":{"test":"node --test --test-concurrency=1 dist/*.test.js","build":"tsc --build","prebuild":"node ../../scripts/generate-version.mjs EmailClient"},"_npmUser":{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"},"repository":{"url":"git+https://github.com/aws-devtools-labs/aws-blocks.git","type":"git","directory":"packages/bb-email-client"},"_npmVersion":"10.9.8","description":"Transactional email sending via Amazon SES.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@aws-blocks/core":"^0.3.0","@aws-blocks/bb-logger":"^0.1.5","@aws-sdk/client-sesv2":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"peerDependencies":{"constructs":"^10.6.0","aws-cdk-lib":"^2.257.0"},"_npmOperationalInternal":{"tmp":"tmp/bb-email-client_0.1.5_1788264346750_0.6443370491385154","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@aws-blocks/bb-email-client","version":"0.1.6","author":{"name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws-blocks/bb-email-client@0.1.6","maintainers":[{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"}],"homepage":"https://github.com/aws-devtools-labs/aws-blocks/tree/main/packages/bb-email-client#readme","bugs":{"url":"https://github.com/aws-devtools-labs/aws-blocks/issues"},"dist":{"shasum":"d7540cfce991d77cab4540fae804ba908c4d53c4","tarball":"https://registry.npmjs.org/@aws-blocks/bb-email-client/-/bb-email-client-0.1.6.tgz","fileCount":36,"integrity":"sha512-K2NCj3LklBMwcsByNRCHXflwyv99l7gqp4dkIYp/oL6vnwaM1GBqdT2Y3URfQ6cCI1QssS1/HdjtmB0nOM3zWg==","signatures":[{"sig":"MEYCIQDhBi0YhgRqs47+IdYkR6SF5m4Wsf5Lj0RD41VqrnlJdgIhAPFqLHV2TRXMJrs4ppzFrHKm9TZg2OEy2aV0V8+jb9MC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-blocks%2fbb-email-client@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":102739},"type":"module","exports":{".":{"cdk":{"types":"./dist/index.cdk.d.ts","default":"./dist/index.cdk.js"},"types":"./dist/index.mock.d.ts","browser":"./dist/index.browser.js","default":"./dist/index.mock.js","aws-runtime":"./dist/index.aws.js"}},"gitHead":"ce01923c591828486e07d3d3f2b6b9d585e39057","scripts":{"test":"node --test --test-concurrency=1 dist/*.test.js","build":"tsc --build","prebuild":"node ../../scripts/generate-version.mjs EmailClient"},"_npmUser":{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"},"repository":{"url":"git+https://github.com/aws-devtools-labs/aws-blocks.git","type":"git","directory":"packages/bb-email-client"},"_npmVersion":"10.9.8","description":"Transactional email sending via Amazon SES.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@aws-blocks/core":"^0.4.0","@aws-blocks/bb-logger":"^0.1.6","@aws-sdk/client-sesv2":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"peerDependencies":{"constructs":"^10.6.0","aws-cdk-lib":"^2.257.0"},"_npmOperationalInternal":{"tmp":"tmp/bb-email-client_0.1.6_1788867483650_0.7141212273986544","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"_id":"@aws-blocks/bb-email-client@0.1.7","bugs":{"url":"https://github.com/aws-devtools-labs/aws-blocks/issues"},"dist":{"shasum":"d8497f2c21a291601a710b0469cbcb3bd054c8af","tarball":"https://registry.npmjs.org/@aws-blocks/bb-email-client/-/bb-email-client-0.1.7.tgz","fileCount":36,"integrity":"sha512-QvxivS0FBEsIyCUFnwEHUKotYe48c/k6lMWo0qLiAw77Yzjkc+tSYHF8F8Qmj8t6CzloRztjr4DxRFRCHN5KOA==","signatures":[{"sig":"MEQCIFwN6OISG4PnQ1VaWfYYh9KR98txALHS8TQxwM/tozrjAiBiS8yRCqdO1C1XdI/KLOnY9XlihDlswUEj/MH6N0TR6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDVN8pxKkg3cdVseomyd6w8scP4FoLnUxz/BDA8EM12HgIhANBBqivrSaK2glUf0B5RuCWfRRN1fbR+Zq3YvlnZRY6N"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-blocks%2fbb-email-client@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103140},"name":"@aws-blocks/bb-email-client","type":"module","author":{"name":"Amazon Web Services"},"exports":{".":{"cdk":{"types":"./dist/index.cdk.d.ts","default":"./dist/index.cdk.js"},"types":"./dist/index.mock.d.ts","browser":"./dist/index.browser.js","default":"./dist/index.mock.js","aws-runtime":"./dist/index.aws.js"}},"gitHead":"51eeb265ab5efdbd853e989cf8bd6d30951c29c7","license":"Apache-2.0","scripts":{"test":"node --test --test-concurrency=1 dist/*.test.js","build":"tsc --build","prebuild":"node ../../scripts/generate-version.mjs EmailClient"},"version":"0.1.7","_npmUser":{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"},"homepage":"https://github.com/aws-devtools-labs/aws-blocks/tree/main/packages/bb-email-client#readme","keywords":["aws-blocks","email","ses","transactional-email"],"repository":{"url":"git+https://github.com/aws-devtools-labs/aws-blocks.git","type":"git","directory":"packages/bb-email-client"},"_npmVersion":"10.9.8","description":"Transactional email sending via Amazon SES.","directories":{},"maintainers":[{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"}],"_nodeVersion":"22.23.2","dependencies":{"@aws-blocks/core":"^0.5.0","@aws-blocks/bb-logger":"^0.2.0","@aws-sdk/client-sesv2":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"peerDependencies":{"constructs":"^10.6.0","aws-cdk-lib":"^2.257.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bb-email-client_0.1.7_1789678937258_0.9334966685466972"}}},"time":{"created":"2026-06-15T23:39:44.200Z","modified":"2026-09-17T21:02:18.135Z","0.1.0":"2026-06-15T23:39:44.549Z","0.1.1":"2026-06-16T18:16:29.759Z","0.1.2":"2026-06-18T03:29:20.092Z","0.1.3":"2026-06-23T05:24:06.587Z","0.1.4":"2026-08-20T12:54:20.388Z","0.1.5":"2026-09-01T12:05:46.894Z","0.1.6":"2026-09-08T11:38:03.771Z","0.1.7":"2026-09-17T21:02:17.341Z"},"bugs":{"url":"https://github.com/aws-devtools-labs/aws-blocks/issues"},"author":{"name":"Amazon Web Services"},"license":"Apache-2.0","homepage":"https://github.com/aws-devtools-labs/aws-blocks/tree/main/packages/bb-email-client#readme","repository":{"url":"git+https://github.com/aws-devtools-labs/aws-blocks.git","type":"git","directory":"packages/bb-email-client"},"description":"Transactional email sending via Amazon SES.","maintainers":[{"name":"aws-blocks-npm-ops","email":"aws-blocks@amazon.com"}],"readme":"# @aws-blocks/bb-email-client\n\nTransactional email sending via Amazon SES.\n\n> Design & mock parity details: [DESIGN.md](./DESIGN.md)\n\n## Usage\n\n```typescript\nimport { EmailClient } from '@aws-blocks/bb-email-client';\n\nconst emailClient = new EmailClient(scope, 'notifications', {\n  fromAddress: 'noreply@example.com',\n  configurationSet: 'my-tracking-set', // optional\n});\n\n// Send a single email\nconst { messageId } = await emailClient.send({\n  to: 'user@example.com',\n  subject: 'Welcome!',\n  body: 'Thanks for signing up.',\n  html: '<h1>Welcome!</h1><p>Thanks for signing up.</p>',\n});\nconsole.log('Sent:', messageId);\n\n// Send a batch of emails (uses SES SendBulkEmail API with inline templates — no setup required)\nconst result = await emailClient.sendBatch([\n  { to: 'alice@example.com', subject: 'Hi Alice', body: 'Hello!' },\n  { to: 'bob@example.com', subject: 'Hi Bob', body: 'Hello!' },\n]);\nconst sent = result.results.filter(r => r.status === 'success').length;\nconst failed = result.results.filter(r => r.status === 'failed').length;\nconsole.log(`Sent: ${sent}, Failed: ${failed}`);\n```\n\n## API\n\n### `new EmailClient(scope, id, options)`\n\n| Option | Type | Required | Description |\n|--------|------|----------|-------------|\n| `fromAddress` | `string` | ✅ | Verified sender email address |\n| `replyTo` | `string[]` | ❌ | Reply-to addresses |\n| `configurationSet` | `string` | ❌ | SES configuration set name |\n\n### `emailClient.send(message): Promise<SendResult>`\n\nSend to one or more recipients. Returns `{ messageId: string }`.\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `message.to` | `string \\| string[]` | Recipient address(es) |\n| `message.subject` | `string` | Subject line |\n| `message.body` | `string` | Plain text body |\n| `message.html` | `string?` | HTML body (optional) |\n| `message.cc` | `string[]?` | CC addresses (optional) |\n| `message.bcc` | `string[]?` | BCC addresses (optional) |\n\n### `emailClient.sendBatch(messages): Promise<SendBatchResult>`\n\nSend multiple messages using the SES `SendBulkEmail` API with inline templates.\nNo stored SES template is required — each message's subject, body, and HTML are passed\ndirectly via `TemplateContent`.\n\nReturns `{ results: Array<{ status, messageId?, error? }> }`.\n\nNever throws on send failures. Both partial and total failures are reported per-entry in the\n`results` array (with `status: 'failed'`).\n\nEach message in the array is an `EmailMessage` (same type as `send()`):\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `to` | `string \\| string[]` | Recipient address(es) |\n| `subject` | `string` | Subject line |\n| `body` | `string` | Plain text body |\n| `html` | `string?` | HTML body (optional) |\n| `cc` | `string[]?` | CC addresses (optional) |\n| `bcc` | `string[]?` | BCC addresses (optional) |\n\n## Error Handling\n\n```typescript\nimport { EmailErrors } from '@aws-blocks/bb-email-client';\nimport { isBlocksError } from '@aws-blocks/core';\n\ntry {\n  await emailClient.send({ to: 'user@example.com', subject: 'Hi', body: 'Hello' });\n} catch (e: unknown) {\n  if (isBlocksError(e, EmailErrors.SendFailed)) {\n    // General send failure — check error message for details\n  }\n  if (isBlocksError(e, EmailErrors.InvalidInput)) {\n    // Malformed input (e.g. invalid email address)\n  }\n  if (isBlocksError(e, EmailErrors.DomainNotVerified)) {\n    // Sending domain not verified in SES\n  }\n  if (isBlocksError(e, EmailErrors.AccountPaused)) {\n    // Account sending is paused by AWS\n  }\n  if (isBlocksError(e, EmailErrors.RateLimited)) {\n    // Transient — safe to retry after backoff\n  }\n}\n```\n\n## Local Development\n\nIn local dev mode (`npm run dev`), emails are:\n- Logged to the console with format: `[Email:{id}] → recipient | Subject: ... | Body: ...`\n- Persisted to `.bb-data/{fullId}/emails.json` for inspection\n- Batch sends emit a rate-limit warning (simulating SES sandbox behavior)\n\n## Package Export Conditions\n\nThis package uses a custom `\"cdk\"` export condition:\n\n```json\n{\n  \"exports\": {\n    \".\": {\n      \"cdk\": \"./dist/index.cdk.js\",\n      \"aws-runtime\": \"./dist/index.aws.js\",\n      \"default\": \"./dist/index.mock.js\"\n    }\n  }\n}\n```\n\n> **Note:** The `\"cdk\"` condition is a Blocks framework convention, resolved by the Blocks build\n> toolchain (tsx with `--conditions=cdk`). It is **not** a built-in Node.js condition and will\n> not resolve in standard `node` or `ts-node` unless you pass `--conditions=cdk` explicitly.\n\n## Limits\n\n- **Per-message recipients**: 50 recipients max per message (To + CC + BCC combined)\n- **Batch API destinations**: 50 destinations per `SendBulkEmail` API call (handled automatically via chunking)\n- **Message size**: 40 MB per message\n- **SES sandbox rate**: 1 email/sec (request production access for higher throughput)\n\n> **Note:** In local dev (mock), per-message recipient and size limits are enforced locally before\n> sending (limit violations are recorded as failed entries). In the AWS runtime, these limits are\n> enforced by SES itself, so the failure surfaces in the SES response rather than locally — the\n> failure point differs between runtimes, but in both cases failures appear per-entry in `results`.\n\n\n","readmeFilename":"README.md","keywords":["aws-blocks","email","ses","transactional-email"]}