6 releases
| 1.1.5 |
|
|---|---|
| 1.1.3 |
|
| 1.0.0 |
|
| 0.2.4 | Apr 22, 2024 |
| 0.1.0 | Dec 27, 2021 |
#194 in Email
580 downloads per month
48KB
581 lines
privatemail
Forward emails from verified domains on SES to SES verified email.
Description
A RUST service that uses the inbound/outbound capabilities of AWS SES to forward emails from verified domains to an SES verified email address.
For example, if an email is sent from john@doe.example to achu@fufu.soup is forwarded to a verified email onions@suya.io.
privatemail also add capability to blacklist certain emails from coming to you.
Example email and how the From and Reply-To headers are set:
From: John Doe <achu@fufu.soup>
Reply-To: john@doe.example
<html>Email body</html>
received by -- <onions@suya.io>
Pre-requisites
- Verify SES Domain on SES
- Verify SES Email forwarding
- Terraform binaries
- AWS SES Limits
- Generate Terraform cloud tokens
Build
- Edit the
terraform/variables.tffile accordingly to suit your needs. - If you're using S3 as your backend, you'll need to make changes to
terraform/main.tf - Test build locally.
$ cargo build
$ cargo test
Provision Infrastructure with Terraform
- Verify your domain and email address on SES before running this
- Create a terraform Token which has admin access to your AWS Account
- Build and generate your Lambda.zip in the terraform directory
- Provision infrastructure
$ cd terraform
$ terraform init
$ terraform validate -json
$ terraform plan
$ terraform apply
Alternately, you can run the release.sh and it builds your code and provisions your infrastructure.
Contributing
We appreciate your contributions; all PRs are welcomed. Please see CONTRIBUTING.md for more information.
Deployment 🚀
Local Deploy
$ bash release.sh
CI / CD (GitHub Actions)
Set up the following GitHub secrets for actions worfklows to work properly
FROM_EMAIL
TF_API_TOKEN
TO_EMAIL
AWS_REGION
BLACK_LIST
All deployments occur via GitHub Actions.
License
The scripts and documentation in this project are released under the MIT License
Author
Dependencies
~30–46MB
~668K SLoC