Giter Site home page Giter Site logo

edmundhung / maildog Goto Github PK

View Code? Open in Web Editor NEW
396.0 8.0 18.0 2 MB

๐Ÿถ Hosting your own email forwarding service on AWS and managing it with Github Actions

License: MIT License

Shell 0.07% JavaScript 9.90% TypeScript 89.61% CSS 0.18% HTML 0.25%
email aws cdk

maildog's Introduction

maildog

๐Ÿฆด Hosting your own email forwarding service on AWS
๐Ÿถ Managing with Github actions
๐Ÿฉบ Monitoring and failure recovery included
๐Ÿ– Almost free*

๐Ÿ‘‹ 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?

MailDog Architecture

Hint: you can click on the diagram for higher resolution

๐Ÿ’ธ Pricing

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
Component Service Configuration summary Monthly Currency
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
2.434 USD

As of 30 June 2021, estimated using AWS Pricing Calculator

๐Ÿšจ Limitations

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.

Regions support

Not every region supports receiving emails with AWS SES. As of 30 June 2021, only 3 regions you can deploy maildog on:

  1. US East (N. Virginia)
  2. US West (Oregon)
  3. 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.

maildog's People

Contributors

edmundhung avatar flashspys avatar logerfo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

maildog's Issues

Specifying the remote

On the installation guide, gh commands won't really work out of the box, unless I specify the argument -R logerfo/maildog. Otherwise, it would try to run it on the original repository (this one), which I don't have permission to. There's probably a command to make my repository the default, but I don't know. It would be nice to have this on the guide.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.