Mailbox

Docs: English • 简体中文
Versatile email infrastructure that operates on AWS serverless platform.
Table of Contents
Usage
-
Clone the repository.
git clone https://github.com/harryzcy/mailbox
-
Install serverless.
npm install -g serverless
-
Create an IAM user.
Create an IAM user with AdministratorAccess and export the access key as environment variables.
export AWS_ACCESS_KEY_ID=<your-key-here>
export AWS_SECRET_ACCESS_KEY=<your-secret-key-here>
For more details, follow this guide.
-
Setup AWS services.
Manually create S3 buckets, and setup SES and SQS (optional) from AWS console.
-
Run Quick Start script to set up configurations.
./script/quickstart.sh
-
Deploy the app.
make deploy
-
Configure email receiving.
From AWS console -> Configuration -> Email receiving -> Create rule set -> Create rule, add two actions:
- Deliver to Amazon S3 bucket, then enter your bucket name.
- Invoke AWS Lambda function, and select
mailbox-dev-emailReceive
or mailbox-prod-emailReceive
.
API
See doc/API.md
Clients
Web
The project mailbox-browser is currently being worked on.
CLI
go install github.com/harryzcy/mailbox-cli
For details, refer to mailbox-cli
Architecture
It runs on AWS services, including SES, Lambda, API Gateway, DynamoDB, and SQS.

Contributing
Development environment
Note that only the two most recent minor versions of Go are officially supported.