#aws #mail-server #security #lambda #rust

bin+lib privatemail

将自定义电子邮件转发到个人电子邮件服务器的服务

6 个版本

1.1.5 2021 年 4 月 26 日
1.1.3 2021 年 4 月 25 日
1.0.0 2021 年 3 月 27 日
0.2.4 2024 年 4 月 22 日
0.1.0 2021 年 12 月 27 日

#271 in 电子邮件

MIT 许可证

48KB
581

privatemail

Build & Run Tests

将 SES 上验证的域发送的电子邮件转发到 SES 验证的电子邮件。

描述

一个使用 AWS SES 入站/出站功能的 RUST 服务,将验证域的电子邮件转发到 SES 验证的电子邮件地址。例如,如果从 john@doe.example 发送电子邮件到 achu@fufu.soup 被转发到验证的电子邮件 onions@suya.ioprivatemail 还增加了将某些电子邮件添加到 blacklist 以阻止其到达您的功能。

示例电子邮件以及如何设置 FromReply-To 标题

From: John Doe <[email protected]>
Reply-To: [email protected]

<html>Email body</html>

received by -- <[email protected]>

先决条件

构建

  1. 根据您的需求相应地编辑 terraform/variables.tf 文件。
  2. 如果您使用 S3 作为后端,您需要更改 terraform/main.tf
  3. 在本地测试构建。
$ cargo build
$ cargo test

使用 Terraform 部署基础设施

  1. 在运行此操作之前,请验证 SES 上的域和电子邮件地址
  2. 创建一个具有对您的 AWS 帐户管理员访问权限的 Terraform 令牌
  3. 在 Terraform 目录中构建并生成您的 Lambda.zip
  4. 部署基础设施
$ cd terraform
$ terraform init
$ terraform validate -json
$ terraform plan
$ terraform apply

或者,您还可以运行 release.sh 以构建您的代码并部署您的基础设施。

贡献

我们感谢您的贡献;所有 PR 都受到欢迎。有关更多信息,请参阅 CONTRIBUTING.md

部署 🚀

本地部署

$ bash release.sh

CI / CD (GitHub Actions)

设置以下 GitHub secrets 以确保动作工作流程正常工作

FROM_EMAIL
TF_API_TOKEN
TO_EMAIL
AWS_REGION
BLACK_LIST

所有部署都通过 GitHub Actions 完成。

许可证

本项目的脚本和文档遵循 MIT 许可协议 发布。

作者

依赖项

~22–33MB
~595K SLoC