🦴Hosting your own email forwarding service on AWS
🐶Managing with Github actions
🩺Monitoring and failure recovery included
👋 Hey, why building this?
Since I bought my first domain, I am always tempted to use it as my email address. However, as I am not receiving many emails a day, hosting my mail server or paying for an email hosting service either make it too complicated or costs too much. All I want is simply a service forwarding emails to one single place.
I have been happily using mailgun for years. As they changed pricing last year, I started looking for a replacement but options are relatively limited.
After all, I open-sourced
maildog and is looking for a community that shares the same needs as me.
The project aims to offer an extensible email forwarding solution with minimal maintenance and operational cost.
☁️ How it works?
Hint: you can click on the diagram for higher resolution
Yes. While it is FREE to use
maildog, you are still required to pay AWS for the infrastructure setup on the cloud.
To give you a better idea, here is an estimated price breakdown based on the following assumption:
- 10k emails / month or 333 emails / day
- 100KB mail size in average
- Hosted in US West (Oregon), pricing may be slightly different based on the region
- Counted without any free quota
|Bucket||S3 Standard||S3 Standard storage (1 GB per month, depends on the retention policy)||0.080||USD|
|Mail Server||SES||Email messages received (10000), Average size of email received (100KB), Email messages sent from email client (10000), Data sent from email client (1 GB per month)||2.120||USD|
|Mail Feed||Standard SNS topics||DT Inbound: Not selected (0 TB per month), DT Outbound: Not selected (0 TB per month), AWS Lambda (10000 per month), Requests (10000 per month)||0.010||USD|
|Dispatcher||AWS Lambda||Number of requests (10000, with no retry attempt)||0.100||USD|
|Scheduler||AWS Lambda||Number of requests (< 10000)||0.100||USD|
|DLQ||SQS||Standard queue requests (< 10000 per month)||0.004||USD|
As of 30 June 2021, estimated using AWS Pricing Calculator
Amazon SES sandbox
SES restricts new users by placing them in the sandbox. Depends on your usage, if you would like to forward emails to non-verified addresses or with higher volume, you might want to move out of the sandbox
Maximum numbers of domains/alias allowed
maildog configures SES using a receipt ruleset with a hard limit of up to 200 rules and 100 recipients per rule. In general, domains that are configured with fallback emails could be set with only 1 rule using wildcard. But for domains without fallback emails, every 100 alias will be count as 1 rule. As a result, you can set up to 20,000 alias if you are configuring only 1 domain even with no fallback emails.
Not every region supports receiving emails with AWS SES. As of 30 June 2021, only 3 regions you can deploy
- US East (N. Virginia)
- US West (Oregon)
- Europe (Ireland)
Please check the AWS documentation for the latest update.
📮 Give it a try?
You can find the installation guide here. The setup might take 10-20 minutes.