Mailbox 是一个接收邮件、触发消息通知的无服务应用。
Dark mode | Light mode |
---|---|
go install github.com/harryzcy/mailbox-cli
细节参见 mailbox-cli
-
Clone 仓库.
git clone https://github.com/harryzcy/mailbox
-
安装 serverless.
npm install -g serverless@v3
-
创建一个 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 文档.
-
设置 AWS 服务.
在 AWS 控制台中创建 S3 存储桶,SES 服务 和 SQS 队列 (可选)。
-
复制 serverless 配置。
cp serverless.yml.example serverless.yml
在
provider.environment
下, 修改REGION
,S3_BUCKET
,SQS_QUEUE
(可选, 使用 SQS 才需要). -
部署应用.
make deploy
-
设置邮件接收.
在 AWS console -> Configuration -> Email receiving -> Create rule set -> Create rule 中, 添加两条 Action 策略:
- Deliver to Amazon S3 bucket,然后填入存储桶名称.
- Invoke AWS Lambda function,然后选择
mailbox-dev-emailReceive
或mailbox-prod-emailReceive
.
-
部署 mailbox-browser 或者使用 mailbox-cli.
目前运行在 AWS 服务上,使用 SES, Lambda, API Gateway, DynamoDB, 和 SQS。
- Go >= 1.22