一键导入
wraps-cli
CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account with automatic DKIM, SPF, DMARC configuration.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account with automatic DKIM, SPF, DMARC configuration.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Email deliverability, warming, compliance, and operational guidelines for AWS Simple Email Service.
Best practices for email content that avoids spam filters. Apply these rules when writing email copy, building templates, or debugging spam placement issues.
Interactive SES deliverability troubleshooting. Diagnoses bounces, spam placement, send failures, account health, and complaint issues with targeted AWS CLI commands and ordered remediation steps.
TypeScript SDK for AWS SES with automatic credential resolution, React.email support, and template management.
Get started with Wraps email infrastructure. Guides through deploying infrastructure, verifying a domain, installing the SDK, and sending the first email. Adapts to project framework and hosting provider.
TypeScript SDK for AWS End User Messaging (Pinpoint SMS) with opt-out management, batch sending, and E.164 validation.
基于 SOC 职业分类
| name | wraps-cli |
| description | CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account with automatic DKIM, SPF, DMARC configuration. |
CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account. Configures DKIM, SPF, DMARC, and event tracking automatically.
# Run directly with npx (recommended)
npx @wraps.dev/cli <command>
# Or install globally
npm install -g @wraps.dev/cli
wraps <command>
# Deploy email infrastructure
npx @wraps.dev/cli email init
# Check status
npx @wraps.dev/cli email status
# Verify domain
npx @wraps.dev/cli email verify --domain yourapp.com
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY~/.aws/credentialswraps email initDeploy new email infrastructure to your AWS account.
# Interactive mode (prompts for options)
wraps email init
# With flags
wraps email init --provider vercel --region us-west-2 --domain myapp.com
# Production preset (enhanced security, multi-AZ)
wraps email init --preset production
Options:
--provider <name> — Hosting provider (vercel, aws-lambda, generic)--region <region> — AWS region (default: us-east-1)--domain <domain> — Domain to verify for sending--preset <preset> — Configuration preset (default, production)What gets deployed:
All resources use the wraps-email-* namespace prefix.
wraps email statusShow current deployment status.
wraps email status
Output includes:
wraps email verifyCheck and guide domain DNS verification.
# Check DNS propagation
wraps email verify --domain myapp.com
# Auto-configure if using Route53
wraps email verify --domain myapp.com --auto
DNS Records Required:
wraps email upgradeAdd features to existing deployment.
# Interactive upgrade wizard
wraps email upgrade
# Specific upgrades
wraps email upgrade --feature tracking
wraps email upgrade --feature webhooks
wraps email domains configConfigure SES configuration set options per domain — tracking, delivery, reputation, suppression, archiving, sending, and VDM.
# Interactive menu (7 groups — select, adjust, done)
wraps email domains config
# For a specific domain
wraps email domains config --domain myapp.com
# Non-interactive flags (apply directly, no menu)
wraps email domains config --domain myapp.com --opens --clicks
wraps email domains config --domain myapp.com --tls-required --no-reputation-metrics
wraps email domains config --domain myapp.com --archive --suppress-bounce --suppress-complaint
wraps email domains config --domain myapp.com --no-sending-enabled
Flag reference:
| Group | Enable | Disable |
|---|---|---|
| Open tracking | --opens | --no-opens |
| Click tracking | --clicks | --no-clicks |
| TLS required | --tls-required | --no-tls-required |
| Sending enabled | --sending-enabled | --no-sending-enabled |
| Reputation metrics | --reputation-metrics | --no-reputation-metrics |
| Suppress bounces | --suppress-bounce | --no-suppress-bounce |
| Suppress complaints | --suppress-complaint | --no-suppress-complaint |
| Email archive | --archive | --no-archive |
| VDM engagement | --vdm-engagement | --no-vdm-engagement |
| VDM inbox | --vdm-inbox | --no-vdm-inbox |
Notes:
wraps-email-archive Mail Manager archive, created automatically on first usewraps email upgrade to sync Pulumi statewraps email connectImport existing SES infrastructure into Wraps management.
wraps email connect
Use this if you already have SES configured and want to use Wraps SDK/dashboard without redeploying.
wraps email restoreRestore infrastructure from saved metadata.
# Interactive restore
wraps email restore
# Skip confirmation (use with caution)
wraps email restore --force
wraps email destroyRemove all Wraps email infrastructure.
# Interactive confirmation
wraps email destroy
# Skip confirmation (use with caution)
wraps email destroy --force
Warning: This removes all deployed resources. Email sending will stop working.
Deployment state is stored in ~/.wraps/ directory:
| Variable | Description |
|---|---|
AWS_PROFILE | AWS credentials profile to use |
AWS_REGION | Default AWS region |
AWS_ACCESS_KEY_ID | AWS access key (if not using profile) |
AWS_SECRET_ACCESS_KEY | AWS secret key (if not using profile) |
WRAPS_TELEMETRY_DISABLED | Set to 1 to disable telemetry |
# 1. Deploy infrastructure
npx @wraps.dev/cli email init --domain myapp.com
# 2. Add DNS records (shown in output)
# DKIM, SPF, DMARC records for myapp.com
# 3. Wait for DNS propagation and verify
npx @wraps.dev/cli email verify --domain myapp.com
# 4. Check everything is ready
npx @wraps.dev/cli email status
# 5. Install SDK and start sending
npm install @wraps.dev/email
# 1. Deploy with Vercel provider (sets up OIDC)
npx @wraps.dev/cli email init --provider vercel --domain myapp.com
# 2. Copy the Role ARN from output
# Add to Vercel environment: AWS_ROLE_ARN=arn:aws:iam::...
# 3. In your app, use the SDK
import { WrapsEmail } from '@wraps.dev/email';
const email = new WrapsEmail({
roleArn: process.env.AWS_ROLE_ARN,
});
# Primary region
npx @wraps.dev/cli email init --region us-east-1 --domain myapp.com
# Secondary region (DR)
npx @wraps.dev/cli email init --region us-west-2 --domain myapp.com
# Import existing SES setup
npx @wraps.dev/cli email connect
# Add event tracking
npx @wraps.dev/cli email upgrade --feature tracking
New AWS accounts start in SES sandbox mode:
To exit sandbox:
wraps email verify --domain yourapp.comThe CLI will guide you through this process.
# Check AWS credentials
aws sts get-caller-identity
# Or set environment variables
export AWS_ACCESS_KEY_ID=your-key
export AWS_SECRET_ACCESS_KEY=your-secret
DNS propagation can take up to 72 hours. Check status:
wraps email verify --domain myapp.com
Common issues:
You need production access to send to non-verified emails:
Ensure your IAM user/role has these permissions:
ses:*iam:CreateRole, iam:AttachRolePolicy (for OIDC setup)dynamodb:CreateTable, dynamodb:* (for event tracking)lambda:CreateFunction, lambda:* (for event processing)cloudwatch:PutMetricAlarm (for monitoring)Or use the managed policy: arn:aws:iam::aws:policy/AdministratorAccess (not recommended for production).
The CLI collects anonymous usage data to improve the product:
Never collected: AWS credentials, domains, email content, PII.
Opt out:
wraps telemetry disable
# or
export WRAPS_TELEMETRY_DISABLED=1
All resources created by Wraps use consistent naming:
| Resource | Name Pattern |
|---|---|
| SES Configuration Set | wraps-email-tracking |
| DynamoDB Table | wraps-email-events |
| Lambda Functions | wraps-email-processor |
| IAM Roles | wraps-email-* |
| CloudWatch Alarms | wraps-email-* |
This makes it easy to identify and audit Wraps resources in your AWS account.
The CLI follows a non-destructive approach:
wraps-* prefixdestroy only removes resources created by Wraps