{"id":13813507,"url":"https://github.com/harryzcy/mailbox","last_synced_at":"2026-01-05T06:28:16.922Z","repository":{"id":37056426,"uuid":"326006972","full_name":"harryzcy/mailbox","owner":"harryzcy","description":"Versatile email infrastructure on AWS serverless","archived":false,"fork":false,"pushed_at":"2024-11-14T16:42:49.000Z","size":1220,"stargazers_count":246,"open_issues_count":0,"forks_count":15,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-14T17:35:33.918Z","etag":null,"topics":["api","aws","aws-apigateway","aws-dynamodb","aws-lambda","aws-s3","aws-ses","aws-sqs","go","mailbox","mailbox-service","self-hosted","serverless"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/harryzcy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-01T15:41:41.000Z","updated_at":"2024-11-14T16:42:52.000Z","dependencies_parsed_at":"2023-12-21T00:47:06.328Z","dependency_job_id":"8f1166a4-626b-433a-b353-ef31c34226d4","html_url":"https://github.com/harryzcy/mailbox","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harryzcy%2Fmailbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harryzcy%2Fmailbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harryzcy%2Fmailbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harryzcy%2Fmailbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harryzcy","download_url":"https://codeload.github.com/harryzcy/mailbox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225319252,"owners_count":17455734,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","aws","aws-apigateway","aws-dynamodb","aws-lambda","aws-s3","aws-ses","aws-sqs","go","mailbox","mailbox-service","self-hosted","serverless"],"created_at":"2024-08-04T04:01:19.833Z","updated_at":"2026-01-05T06:28:16.879Z","avatar_url":"https://github.com/harryzcy.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Mailbox\n\n[![Tests](https://github.com/harryzcy/mailbox/actions/workflows/test.yml/badge.svg)](https://github.com/harryzcy/mailbox/actions)\n[![codecov](https://codecov.io/gh/harryzcy/mailbox/branch/main/graph/badge.svg)](https://codecov.io/gh/harryzcy/mailbox)\n[![Go Report Card](https://goreportcard.com/badge/github.com/harryzcy/mailbox)](https://goreportcard.com/report/github.com/harryzcy/mailbox)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](http://makeapullrequest.com)\n[![License: MIT](https://img.shields.io/github/license/harryzcy/mailbox)](https://opensource.org/licenses/MIT)\n\nDocs: [English](README.md) • [简体中文](README_zh.md)\n\nVersatile email infrastructure that operates on AWS.\n\n## Clients\n\n### Web\n\nSee [mailbox-browser](https://github.com/harryzcy/mailbox-browser)\n\n| Dark mode |  Light mode |\n|:---------:|:-----------:|\n| ![Screenshot Dark Mode](https://github.com/harryzcy/mailbox-browser/assets/37034805/b77a6c40-c6c1-4dd8-98de-2add697b26f9) | ![Screenshot Light Mode](https://github.com/harryzcy/mailbox-browser/assets/37034805/ce9ab42c-923a-4b03-8ee4-bcdc9d4b72ed) |\n\n### CLI\n\n```bash\ngo install github.com/harryzcy/mailbox-cli\n```\n\nFor details, refer to [mailbox-cli](https://github.com/harryzcy/mailbox-cli)\n\n## Deploy\n\n1. Clone the repository.\n\n    ```shell\n    git clone https://github.com/harryzcy/mailbox\n    ```\n\n1. Install [serverless](https://github.com/serverless/serverless).\n\n    ```shell\n    npm install -g serverless@v3\n    ```\n\n1. Create an IAM user.\n\n    Create an IAM user with AdministratorAccess and export the access key as environment variables.\n\n    ```shell\n    export AWS_ACCESS_KEY_ID=\u003cyour-key-here\u003e\n    export AWS_SECRET_ACCESS_KEY=\u003cyour-secret-key-here\u003e\n    ```\n\n    In production, setup the IAM user following [this guide from serverless](https://www.serverless.com/framework/docs/providers/aws/guide/credentials).\n\n1. Setup AWS services.\n\n    Manually create S3 buckets, and setup SES and SQS (optional) from AWS console.\n\n1. Copy over example configurations and fill in correct fields.\n\n    ```shell\n    cp serverless.yml.example serverless.yml\n    ```\n\n    Under `provider.environment` section, modify `REGION`, `S3_BUCKET`, `SQS_QUEUE` (optional, only if SQS should be enabled).\n\n1. Deploy the app.\n\n    ```shell\n    make deploy\n    ```\n\n1. Configure email receiving.\n\n    From AWS console -\u003e Configuration -\u003e Email receiving -\u003e Create rule set -\u003e Create rule, add two actions:\n\n    1. Deliver to Amazon S3 bucket, then enter your bucket name.\n    2. Invoke AWS Lambda function, and select `mailbox-dev-emailReceive` or `mailbox-prod-emailReceive`.\n\n1. Deploy [mailbox-browser](https://github.com/harryzcy/mailbox-browser) or use [mailbox-cli](https://github.com/harryzcy/mailbox-cli).\n\n## API\n\nSee [doc/API.md](doc/api.md)\n\n## Architecture\n\nIt runs on AWS services, including SES, Lambda, API Gateway, DynamoDB, and SQS.\n\n![Architecture](./doc/architecture.svg)\n\n## Contributing\n\n### Development environment\n\n- Go \u003e= 1.24\n\nNote that only the two most recent minor versions of Go are officially supported.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharryzcy%2Fmailbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharryzcy%2Fmailbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharryzcy%2Fmailbox/lists"}