Skip to main content
Inbound email lets you receive messages sent to an address at a subdomain you control — for example [email protected]. Wraps provisions the required AWS MailManager resources and walks you through the DNS configuration.
Inbound email requires outbound email infrastructure to be deployed first. Run wraps email init before enabling inbound receiving.

What gets deployed

Running wraps email inbound init creates the following AWS resources in your account:
  • AWS MailManager ingress endpoint — receives SMTP traffic
  • Rule set — routes arriving mail to your configured handler
  • S3 bucket — stores raw message content
  • IAM roles — least-privilege access for MailManager to write to S3
All resources are tagged ManagedBy: wraps-cli and prefixed with wraps-.

Enable inbound email

1

Deploy inbound infrastructure

wraps email inbound init
Available flags:
FlagDescription
-r, --regionAWS region to deploy into
-d, --domainSubdomain for inbound (e.g. inbound)
-y, --yesSkip confirmation prompt
--previewPreview changes without deploying
Example with explicit options:
wraps email inbound init \
  --region us-east-1 \
  --domain inbound \
  --yes
This deploys infrastructure and prints the MX record you need to add to DNS.
2

Add the MX record

After deployment, Wraps prints an MX record in this form:
inbound.yourapp.com  MX  10  <mailmanager-endpoint>.inbound.awsses.com
Add this record at your DNS provider under the subdomain you specified (e.g. inbound.yourapp.com).
The MX record must point to the subdomain, not the root domain. This keeps inbound routing separate from outbound sending.
3

Verify DNS propagation

wraps email inbound verify
Add -r to specify the region if you deployed to a non-default region:
wraps email inbound verify --region us-east-1
DNS changes typically propagate in 5–30 minutes. Run the verify command until it reports success.
4

Send a test email

wraps email inbound test
This sends a test message to your inbound address and verifies it was received by checking the S3 bucket. Use -r if you deployed to a non-default region:
wraps email inbound test --region us-east-1
A successful test confirms that DNS is propagated, MailManager is receiving mail, and the storage pipeline is working end to end.

Check current status

wraps email inbound status
Shows the current state of your inbound infrastructure: endpoint URL, rule set status, and the S3 bucket name. Add --region to query a specific region.
wraps email inbound status --region us-east-1

Remove inbound infrastructure

wraps email inbound destroy
Flags:
FlagDescription
-r, --regionRegion where inbound is deployed
-f, --forceSkip confirmation prompt
Destroying inbound infrastructure immediately stops delivery of new messages. Existing messages in S3 are not deleted — you must clean up the S3 bucket separately if required.

Command reference

CommandDescription
wraps email inbound initDeploy inbound infrastructure
wraps email inbound statusShow current status and endpoint details
wraps email inbound verifyCheck MX DNS records
wraps email inbound testSend a test email and verify receipt
wraps email inbound destroyRemove all inbound infrastructure
All commands accept -r / --region to target a specific AWS region.

Build docs developers (and LLMs) love