All Projects → edmundhung → maildog

edmundhung / maildog

Licence: MIT license
🐶 Hosting your own email forwarding service on AWS and managing it with Github Actions

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to maildog

horusec-platform
Horusec Platform is a set of web services that integrate with the Horusec CLI to facilitate the visualization and management of found vulnerabilities.
Stars: ✭ 32 (-91.6%)
Mutual labels:  email
document-processing-pipeline-for-regulated-industries
A boilerplate solution for processing image and PDF documents for regulated industries, with lineage and pipeline operations metadata services.
Stars: ✭ 36 (-90.55%)
Mutual labels:  cdk
news-api
Go newsletter API backed by DynamoDB
Stars: ✭ 63 (-83.46%)
Mutual labels:  email
puppeteer-email
Email automation driven by headless chrome.
Stars: ✭ 135 (-64.57%)
Mutual labels:  email
Maily-Form
Forms on any website
Stars: ✭ 29 (-92.39%)
Mutual labels:  email
sourcestack
A highly adaptable template for full-stack Typescript web apps.
Stars: ✭ 45 (-88.19%)
Mutual labels:  cdk
python-smime
S/MIME encoder in pure python
Stars: ✭ 16 (-95.8%)
Mutual labels:  email
thymeflow
Installer for Thymeflow, a personal knowledge management system.
Stars: ✭ 27 (-92.91%)
Mutual labels:  email
sender policy flattener
Compact large SPF chains into flat blocks of IP addresses
Stars: ✭ 25 (-93.44%)
Mutual labels:  email
email-checker
Provides email verification on the go.
Stars: ✭ 116 (-69.55%)
Mutual labels:  email
Mail
基于 Net.Mail 封装的发送邮件工具类。仅需一行代码,发送邮件。支持自定义邮件发出邮箱、发出方名字等。 支持SSL加密发送。 多个接收人、抄送人。支持群发独显。 支持添加附件、多个附件。 目前大部分主流邮箱全支持。
Stars: ✭ 87 (-77.17%)
Mutual labels:  email
DANE-for-SMTP
'DANE for SMTP' wiki
Stars: ✭ 28 (-92.65%)
Mutual labels:  email
lttrs-android
No-frills, easy to use, easy to maintain Email client for Android based on the JSON Meta Application Protocol (JMAP).
Stars: ✭ 176 (-53.81%)
Mutual labels:  email
bulk-email-sender
Send Templatized Dynamic Emails Automatically
Stars: ✭ 30 (-92.13%)
Mutual labels:  email
trualias
Mentally computable verification codes for email aliases implemented as a postfix tcp table or milter; uses asyncio.
Stars: ✭ 33 (-91.34%)
Mutual labels:  email
devops-notes
My technical documentation in the SRE / DevOps paradigm.
Stars: ✭ 19 (-95.01%)
Mutual labels:  email
Email-Spammer
Great script for sending and spaming emails! gmail, yahoo, outlook, hotmail.
Stars: ✭ 79 (-79.27%)
Mutual labels:  email
email-reply-parser
🔎 Node library for parsing plain text email content.
Stars: ✭ 31 (-91.86%)
Mutual labels:  email
email-providers
A list of common eMail providers.
Stars: ✭ 17 (-95.54%)
Mutual labels:  email
content-reminder
⏰ A GitHub Action that reminds you to share your own content
Stars: ✭ 28 (-92.65%)
Mutual labels:  email

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].