6 releases
1.1.5 |
|
---|---|
1.1.3 |
|
1.0.0 |
|
0.2.4 | Apr 22, 2024 |
0.1.0 | Dec 27, 2021 |
#303 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.tf
file 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
~22–33MB
~582K SLoC