Skip to content

Latest commit

 

History

History
97 lines (59 loc) · 2.9 KB

README_zh.md

File metadata and controls

97 lines (59 loc) · 2.9 KB

Mailbox

Tests codecov Go Report Card PRs Welcome License: MIT

文档: English简体中文

Mailbox 是一个接收邮件、触发消息通知的无服务应用。

客户端

Web

mailbox-browser

Dark mode Light mode
Screenshot Dark Mode Screenshot Light Mode

CLI

go install github.com/harryzcy/mailbox-cli

细节参见 mailbox-cli

部署

  1. Clone 仓库.

    git clone https://github.com/harryzcy/mailbox
  2. 安装 serverless.

    npm install -g serverless@v3
  3. 创建一个 IAM 用户.

    创建一个 IAM 用户并赋予 AdministratorAccess 权限,把 access key 设为 environment variables.

    export AWS_ACCESS_KEY_ID=<your-key-here>
    export AWS_SECRET_ACCESS_KEY=<your-secret-key-here>

    更多细节参考 serverless 文档.

  4. 设置 AWS 服务.

    在 AWS 控制台中创建 S3 存储桶,SES 服务 和 SQS 队列 (可选)。

  5. 复制 serverless 配置。

    cp serverless.yml.example serverless.yml

    provider.environment 下, 修改 REGION, S3_BUCKET, SQS_QUEUE (可选, 使用 SQS 才需要).

  6. 部署应用.

    make deploy
  7. 设置邮件接收.

    在 AWS console -> Configuration -> Email receiving -> Create rule set -> Create rule 中, 添加两条 Action 策略:

    1. Deliver to Amazon S3 bucket,然后填入存储桶名称.
    2. Invoke AWS Lambda function,然后选择 mailbox-dev-emailReceivemailbox-prod-emailReceive.
  8. 部署 mailbox-browser 或者使用 mailbox-cli.

API

doc/API.md

架构

目前运行在 AWS 服务上,使用 SES, Lambda, API Gateway, DynamoDB, 和 SQS。

Architecture

Contributing

开发环境

  • Go >= 1.21