{"id":13725896,"url":"https://github.com/edmundhung/maildog","last_synced_at":"2025-07-23T19:34:36.120Z","repository":{"id":47773907,"uuid":"376925761","full_name":"edmundhung/maildog","owner":"edmundhung","description":"🐶 Hosting your own email forwarding service on AWS and managing it with Github Actions","archived":false,"fork":false,"pushed_at":"2021-08-19T08:19:22.000Z","size":2049,"stargazers_count":400,"open_issues_count":0,"forks_count":18,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-06-09T13:41:47.589Z","etag":null,"topics":["aws","cdk","email"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edmundhung.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-14T18:52:20.000Z","updated_at":"2024-11-02T08:07:44.000Z","dependencies_parsed_at":"2022-09-23T19:42:21.259Z","dependency_job_id":null,"html_url":"https://github.com/edmundhung/maildog","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/edmundhung/maildog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmundhung%2Fmaildog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmundhung%2Fmaildog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmundhung%2Fmaildog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmundhung%2Fmaildog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edmundhung","download_url":"https://codeload.github.com/edmundhung/maildog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmundhung%2Fmaildog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266738346,"owners_count":23976417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cdk","email"],"created_at":"2024-08-03T01:02:39.890Z","updated_at":"2025-07-23T19:34:36.077Z","avatar_url":"https://github.com/edmundhung.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Network"],"sub_categories":["NetServices"],"readme":"# maildog\n\n\u003e 🦴 Hosting your own email forwarding service on AWS\\\n\u003e 🐶 Managing with Github actions\\\n\u003e 🩺 Monitoring and failure recovery included\\\n\u003e 🍖 Almost free\\*\n\n## 👋 Hey, why building this?\n\nSince I bought my first domain, I am always tempted to use it as my email address.\nHowever, 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.\nAll I want is simply a service forwarding emails to one single place.\n\nI have been happily using [mailgun](https://www.mailgun.com) for years.\nAs they changed pricing last year, I started looking for a replacement but options are relatively limited.\n\nAfter all, I open-sourced `maildog` and is looking for a community that shares the same needs as me.\nThe project aims to offer an extensible email forwarding solution with minimal maintenance and operational cost.\n\n## ☁️ How it works?\n\n[![MailDog Architecture](docs/architecture.png)](https://app.cloudcraft.co/view/d3b3c7fb-3e31-445c-ae5a-3fd3cf5080d6?key=VbwNoP3q1N5efAlrXGHK2Q\u0026interactive=true\u0026embed=true)\n\n\u003e Hint: you can click on the diagram for higher resolution\n\n## 💸 Pricing\n\nYes. While it is **FREE** to use `maildog`, you are still required to pay AWS for the infrastructure setup on the cloud.\nTo give you a better idea, here is an **estimated** price breakdown based on the following assumption:\n\n- 10k emails / month or 333 emails / day\n- 100KB mail size in average\n- Hosted in US West (Oregon), pricing may be slightly different based on the region\n- Counted without any [free quota](https://aws.amazon.com/free)\n\n| Component   | Service             | Configuration summary                                                                                                                                                | Monthly   | Currency |\n| ----------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | -------- |\n| Bucket      | S3 Standard         | S3 Standard storage (1 GB per month, depends on the retention policy)                                                                                                | 0.080     | USD      |\n| 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      |\n| 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      |\n| Dispatcher  | AWS Lambda          | Number of requests (10000, with no retry attempt)                                                                                                                    | 0.100     | USD      |\n| Scheduler   | AWS Lambda          | Number of requests (\u003c 10000)                                                                                                                                         | 0.100     | USD      |\n| DLQ         | SQS                 | Standard queue requests (\u003c 10000 per month)                                                                                                                          | 0.004     | USD      |\n|             |                     |                                                                                                                                                                      | **2.434** | USD      |\n\n\u003e As of 30 June 2021, estimated using [AWS Pricing Calculator](https://calculator.aws/#/estimate?id=f5b7c2a46317a99bfb149569d601e7e285504b4c)\n\n## 🚨 Limitations\n\n### Amazon SES sandbox\n\nSES restricts new users by placing them in the sandbox.\nDepends on your usage, if you would like to forward emails to [non-verified addresses](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html)\nor with higher volume, you might want to [move out of the sandbox](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html)\n\n### Maximum numbers of domains/alias allowed\n\n`maildog` configures SES using a receipt ruleset with a [hard limit](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/quotas.html) 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.\n\n### Regions support\n\nNot every region supports receiving emails with AWS SES. As of 30 June 2021, only 3 regions you can deploy `maildog` on:\n\n1. US East (N. Virginia)\n2. US West (Oregon)\n3. Europe (Ireland)\n\nPlease check the [AWS documentation](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/regions.html#region-receive-email) for the latest update.\n\n## 📮 Give it a try?\n\nYou can find the installation guide [here](docs/installation.md). The setup might take 10-20 minutes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedmundhung%2Fmaildog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedmundhung%2Fmaildog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedmundhung%2Fmaildog/lists"}