workers-ses
v0.0.3
Published
AWS SES client for Cloudflare Workers
Readme
workers-ses
AWS SES client for Cloudflare Workers. 1:1 mapping of AWS SES API based on aws4fetch.
Usage
Install the package:
# ✨ Auto-detect (supports npm, yarn, pnpm, deno and bun)
npx nypm install workers-ses
# or
npm install workers-ses
# or
yarn add workers-ses
# or
pnpm add workers-ses
# or
bun add workers-sesImport:
ESM (Node.js, Bun, Deno)
import {} from 'pkg'CDN (Deno, Bun and Browsers)
import {} from 'https://esm.sh/pkg'Usage Example
import { SESClient, SendEmailCommand } from 'workers-ses'
// Configure the SES client
const config = {
region: 'us-east-1', // Your AWS region
credentials: {
accessKeyId: 'YOUR_ACCESS_KEY_ID',
secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
},
}
// Initialize the SES client
const sesClient = new SESClient(config)
// Define email parameters
const emailParams = {
Source: '[email protected]', // Must be a verified email address
Destination: {
ToAddresses: ['[email protected]'],
// Optional: CcAddresses and BccAddresses
// CcAddresses: ["[email protected]"],
// BccAddresses: ["[email protected]"],
},
Message: {
Subject: {
Data: 'Hello from Workers SES!',
},
Body: {
Text: {
Data: 'This is a plain text email sent using workers-ses library.',
},
Html: {
Data: '<h1>Hello!</h1><p>This is an <strong>HTML email</strong> sent using workers-ses library.</p>',
},
},
},
}
// Send the email
try {
const command = new SendEmailCommand(emailParams)
const result = await sesClient.send(command)
console.log('Email sent successfully!')
console.log('Message ID:', result.MessageId)
} catch (error) {
console.error('Error sending email:', error)
}Configuration Options
- region: AWS region where your SES service is configured (e.g.,
us-east-1,eu-west-1) - credentials: AWS credentials with SES permissions
- accessKeyId: Your AWS access key ID
- secretAccessKey: Your AWS secret access key
Email Parameters
- Source: The sender's email address (must be verified in AWS SES)
- Destination: Recipient information
- ToAddresses: Array of recipient email addresses
- CcAddresses: (Optional) Array of CC recipient email addresses
- BccAddresses: (Optional) Array of BCC recipient email addresses
- Message: Email content
- Subject.Data: Email subject line
- Body.Text.Data: Plain text version of the email
- Body.Html.Data: HTML version of the email
Note: Before sending emails, make sure your sender email address is verified in AWS SES, and if you're in the SES sandbox, recipient addresses must also be verified.
Development
- Clone this repository
- Install latest LTS version of Node.js
- Enable Corepack using
corepack enable - Install dependencies using
pnpm install - Run interactive tests using
pnpm dev
License
Published under the MIT license. Made by community 💛
🤖 auto updated with automd
