
Postal: Open source mail delivery platform, alternative to Mailgun or Sendgrid - rendx
https://github.com/atech/postal
======
jitbit
Great discussion here, not necessarily about the OP's link, but still learned
a lot. Would love to contribute my 2 cents...

Our app[1] sends/receives several million emails per month. Not an
exaggeration, it's actually seven figures.

Meaning it's more than 100k a day. Meaning it's 5-6 emails every friggin
second. On average. It, of course, peaks during US daytime, up to 30 per
second.

We tried a looooh-ot of solutions (all priced at THOUSANDS a month at this
volume) including Mailgun, Sendgrid, SES etc, but finally settled to a tiny
Ubuntu micro-instance on EC2, running Postfix. It has 1 gb of memory, costs us
$4 a month and the CPU load rarely goes higher than 4%.

Of course you would need to get yourself familiar with SMTP, postfix,
SPF/DKIM, mx-validation, blacklists etc. And by "familiar" I mean "learn it
tothe core" :))

Another thing - you need to build-up reputation for your IP, cause email
providers like outlook/gmail/yahoo will simply reject your emails if you start
sending a LOT out of the blue. You have to build it up gradually, takes months
to get there. Makes it a huge PITA when you need to change your IP :((

PS. If you need incoming email to call some external REST-api - postfix can
launch a local php-script that does that. Not sexy but - $4 a month, right.

[1] [https://www.jitbit.com/hosted-helpdesk/](https://www.jitbit.com/hosted-
helpdesk/)

~~~
movedx
Hey,

So firstly, I don't work for AWS or Amazon, or any Cloud provider. Just wanted
to make sure that was clear.

After reading your very interesting comment I thought I'd do some maths on the
costs SES should be charging you. Essentially at $0.10 per 1,000 messages, and
sending "several million" or "seven figures" worth of messages per month, so a
possible total of 9,999,999, you should be paying almost exactly $1,000 for
that. That's not really "THOUSANDS", but it is substantially more than $4 haha
:)

If you're sending 5,000,000, then the figured drops to $500/month.

Anyway your $4/month server is a very cool concept. Would you be willing to
share the configuration? Perhaps you've written an Ansible Playbook to
provision it for you?

EDIT: So essentially my point is this: it's not that expensive, compared to
compute resources to actually run your application, to have someone else
manage all of that for you.

~~~
jitbit
SES is indeed much cheaper that the others (mailgun, sendgrid, postmark etc.)

But you have some things missing from your calculation:

1) Attachments (yes, SES charges separately)

2) Dedicated IP addresses (SES charges you separately for this)

3) S3 (where emails are stored

4) AWS Lambda (because you need a script/function, that processes incoming
messages as they come in).

But yes, you're right, with SES its cheaper than others, couple of thousand
tops

~~~
movedx
Developing and managing your own system, like the OP did, takes a lot of time
and energy - all of that, when calculated, costs a lot more :)

~~~
znpy
> Developing and managing your own system, like the OP did, takes a lot of
> time and energy - all of that, when calculated, costs a lot more :)

> costs a lot more

> costs a lot more

> costs a lot more

The point was super clear, and yet you managed to miss it.

@jitbit clearly stated that he and his colleagues evaluated several
possibilities, and the decided to set up their own system.

It's literally short-term decision: it's a make-or-buy problem.

The make options surely takes some time, but it is a one-time expense with
pretty much low maintenance and super-low operating-cost ($4/month). It also
requires some study but hey, that's know-how that is going to stay in the
company.

The buy options is a lot more costly, but gives the gift of ignorance: you are
not required to know or do anything.

And if you are wondering what the costs are: setting up a basic mail server
for a domain takes as little as a couple of hours. A little-more complicated
might take a day, and a complex setup not more than a week, for a skilled
person.

Considering other options, it might just be cost-effective to hire a
consultant to set it up.

Source: i've been running my mailserver for years, and I've done consulting in
setting up and troubleshooting mail servers.

------
dan1234
Isn’t part of the reason for using Mailgun, Sendgrid etc that you get to send
via IP addresses with good reputation?

~~~
jwr
I tried using Sendgrid and was surprised to find out that unless you buy an
expensive plan, then:

* You get IPs from a shared pool, and the reputation is nowhere near guaranteed. In fact, many of my mails were blackholed or rejected.

* The "bad" IPs that were used by someone for spamming are not immediately removed from the pool, so you _will_ encounter them.

The net result for me was that Sendgrid is not a solution for my transactional
E-mail, because of the high risk of my E-mails getting blackholed/rejected. I
use it for newsletters/marketing only.

~~~
eloff
How can you check if an IP is good or spammy? It would be nice to get an
elastic IP in the cloud, test it for spamminess, and give back the bad ones.
Catch and release fishing for IPs.

~~~
massaman_yams
In practice, while there are some services which will purport to tell you an
IP's reputation, their output isn't well correlated with actual delivery
outcomes at scale (depending, to some extent, on what domains you're sending
to).

This is because the big consumer mailbox providers often don't rely on public
datasources for assessing reputation, and because reputation is tracked at the
domain level, in addition to - or sometimes instead of - the IP level. For
example, there have been some indications from Gmail that they no longer use
IP reputation at all, starting a year or two ago.

And re: blacklists: +1 to Spamhaus, but in practice it's one of _very_ few
blacklists that have meaningful impact to net delivery.

~~~
ams6110
> there have been some indications from Gmail that they no longer use IP
> reputation at all

I can believe it. I posted already about my experience with the free tier of
Mailgun's service. I went through all their instructions about setting up the
service and verifying my domain etc. but still had a lot of email rejected,
especially by yahoo.com but also hotmail.com due to poor reputation IPs

Gmail.com typically delivered everything.

------
oblib
I took a look at the github project and I hope they do great.

As a side project I've been working on setting up my own mail server using
"Mail-in-a-Box" ([https://mailinabox.email](https://mailinabox.email)) for
about a month now.

It's been a learning process but I do like the idea of having control over
this. I've got it set up to send emails from a remote app server using a perl
script and an email account configured on my Mac Mail app all working.

Mail-in-a-Box is really pretty sweet. It walks you through the install and has
a very nice Control Panel that handles DNS and user account setup and it comes
with the Roundcube email web client and ownCloud.

There are hurdles. I got a clean IP from DigitalOcean with no problem, but the
domain name I'm using is new and has no reputation so when I tested it last
week sending emails from the app server to my personal Gmail account the Gmail
server responded saying:

"Our system has detected that this message is 421-4.7.0 suspicious due to the
very low reputation of the sending IP address. 421-4.7.0 To protect our users
from spam, mail sent from your IP address has 421-4.7.0 been temporarily rate
limited."

I only sent about a dozen emails, all to my own Gmail account, so that seems
to be a bit harsh.

Then it occurred to me why Gmail exists and it made a lot more sense. So,
there are hurdles.

------
ksajadi
We sent a lot of emails which makes services like Postmark or Mandrill very
expensive. Since switching to Amazon SES, the cost has been much lower but the
lack of individual email tracking has been a pain (in case a recipient claims
they haven't received it or we need to track opens, etc).

This UI with an Amazon SES backend would be ideal.

~~~
dan1234
If you’re sending newsletters, you might want to look at Sendy[1] (no
affiliation), which sends via SES.

1 [https://sendy.co](https://sendy.co)

~~~
j_s
Per "Create your own MailChimp clone for $5 a month with Sendy" |
[https://news.ycombinator.com/item?id=9151487](https://news.ycombinator.com/item?id=9151487)

 _The Sendy codebase is horrifying. [...]Just lots and lots of rough PHP_ _vs_
_This isn 't software to be used for analysis. Sendy is f-in awesome!_

 _Amazon SES rocks from a pricing standpoint but deliverability isn 't its
strong suit_ _vs_ _I find no difference between SES and MailChimp regarding
delivery_

 _I would stick with Sendy, but I could never get the unsubscribe links to
work_ _vs_ _there is a version 2 of Sendy, which appears to fix all these
problems_

 _lighter version of Mailchimp and super cheap [...] Configuration is a bit
painful_

 _I have been using it for almost 1.5 years and really like it._

 _if you are taking all the trouble to install Sendy you should look at
Mandrill_ (2 years go) _vs_ _Major changes to Mandrill, must be tied to a
MailChimp account_ (1 year ago) |
[https://news.ycombinator.com/item?id=11170713](https://news.ycombinator.com/item?id=11170713)

Also self-hosted:
[https://github.com/bevacqua/campaign](https://github.com/bevacqua/campaign) |
[http://directmailmac.com](http://directmailmac.com) ($100)

Hosted Sendy: [https://www.sentopia.net/](https://www.sentopia.net/)

Other/creative alternatives: [http://tinyletter.com/](http://tinyletter.com/)
(5000 free) |
[https://domain.yandex.com/domains_add/](https://domain.yandex.com/domains_add/)
(500 outbound/day) |
[https://www.zoho.com/workplace/pricing.html](https://www.zoho.com/workplace/pricing.html)

~~~
_asciiker_
Sentopia.net founder here. I agree that the codebase could be better, a lot
better.. but we have made heavy modifications and it's not a problem anymore,
I should add that we have tried to work together with Sendy.co developers but
seems our emails are being ignored. Sendy is a platform, and a good one at
that. but our value is on our SMTP server pools and their reputation as others
have mentioned. We are always looking at new platforms like postal, that we
can jump on board with if it means a better user experience for our clients.

------
vanilla
This seems to be the software behind appmail.io[1], a service just like
mailgun and sendgrid.

[1]: [https://appmail.io/](https://appmail.io/)

~~~
rayboy1995
From the repo:

> Postal was developed by aTech Media to serve its own mail processing
> requirements and we have since decided that it should be released as an open
> source project for the community. It was originally launched by us as
> AppMail but renamed to Postal as part of making it open source as we felt
> the name was more suitable.

------
nbevans
The reason why we use Mailgun is to avoid deploying and maintaining e-mail
infrastructure which is very hard and high cost. We would rather keep paying
Mailgun about $20/mo as this is cheaper by several magnitudes than the self-
hosting option.

~~~
itburnslikeice
> 20/mo as this is cheaper by several magnitudes than the self-hosting option.

exactly this, even the cheapest cloud instances cost around 100$/m, while some
might be 20$/m it's just not worth the effort to host your own because it also
needs management/maintenance if you do which translates in to hours of work.
Yes you can automate these things but it simply not worth it when the only
thing you want to do is sent mass emails, without even caring about anything
besides configuration to connect to XYZ service.

------
pvsukale3
Will this platform be actually usable for independent developers considering
today's spam blocking scenario. How one should proceed with this in order to
not get blacklisted while actually using it for the first time.

~~~
Mahn
It's an interface, it doesn't take care of email reputation for you. This is
for people who want to DIY to have a pretty dashboard on top, but you're on
your own for email deliverability.

------
stephenr
This sort of thing is fantastic to see, regardless of whether you want to run
your own mail servers for this task.

That they provide a hosted service using the same stack is great to see: host
it yourself, or pay them to host it for you. _This_ is what great open source
businesses can look like.

No "open core" where the good stuff isn't available for the community, and
community efforts to implement the same thing get rejected.

No viral licensing like the GPL or jesus shit on a stick, the AGPL.

~~~
simonhamp
Completely agree with this, my only concern is that an open-source solution
increases the likelihood of spam-ridden senders popping up more frequently and
becoming harder to shut-down as they can spin up instances more easily and get
going from a new location more quickly.

There is actually some benefit to be had by the process of setting up a
mailing service being a little trickier.

From a business perspective, it's also a great decision, as it shows customers
who outgrow (or are in fear of outgrowing) your SaaS have a first-party path
to scale.

And you could still make money off those customers if you can offer a strong
support/hosting solution.

It's a massive win. As an aTech customer with some of their other products in
the past, I'm really pleased to see this and I wish them all the best!

Also, proud to support fellow Brit tech companies ;)

~~~
stephenr
> becoming harder to shut-down as they can spin up instances more easily and
> get going from a new location more quickly

I don't think this is going to work in their favour - spammers already have
the tools they need - the real killer is blacklisted IP's/ranges.

If you're legit, you can jump through some hoops if you inherit a blacklisted
IP.

If you're a spammer, all you can do is try to get an IP that isn't
blacklisted.

------
cryptarch
Do you have a system to prevent trusted users from being given low-reputation
ip addresses without them having to pay for a dedicated ip?

Something like, "if you don't pay for a dedicated ip, but have been a non-
spamming client for a month, we move you to a higher-rep ip address pool"?

~~~
charlieegan3
Their premium plus plan seems to offer this:
[https://appmail.io/pricing](https://appmail.io/pricing)

~~~
cryptarch
That's a dedicated ip address, I meant a system to isolate spammers and new
users in a relatively low-rep ip address pool.

------
senic
Interesting, I was just looking for something like this the other day, thanks
HN! The software looks quite polished. Hopefully there'll be a dockerzied
version to play with it.

------
WA
Awesome, I've been waiting for this, because I don't believe in the "delivery"
promise of big brand mail providers. Most newsletters* go to spam, no matter
if they're via Mailchimp, Aweber or transactional mail providers.

Maybe the big names work better with Gmail, since Gmail has quite an
aggressive spam filtering. But neither I, nor most of my customers (Germans)
use Gmail, so I don't care.

Edit: *most newsletters I receive

------
brightball
I'm most interested to see what their solution for handling INCOMING email
looks like. Having used the inbound APIs with the others they are all pretty
polished and reliable but have inconsistent APIs. I've always been a little
bit concerned about how to handle high volumes of inbound email functionality
if the prices on those services ever went up.

~~~
ushi
We are running this[0] with some postfix boxes in front of it. Works quite
well for us.

[0] [https://github.com/ushis/mailhook](https://github.com/ushis/mailhook)

~~~
brightball
I'll have to check it out.

------
jbverschoor
I'm a big fan of mailgun. It is far better than mandril, sendgrid and probably
ses - without a lot of the set up

------
ohstopitu
If I were to host this myself, I'd still need a static IP that had a good
reputation. GCP and Azure both mention that we should not be hosting mail
servers on their platforms (rather, they all suggest we setup mail servers +
relays to a reputed IP).

How would I go about getting a static IP or a reputed IP?

~~~
stephenr
Companies have been renting/leasing servers for a long time before Amazon and
Google got into that business.

------
theprop
Is this more than an SMTP server? Those are services designed to send emails
as an API service for many different parties. Is that what "Postal" is? Or is
it a another SMTP server like Postflix or something? It's not at all clear
from your description...

------
spuz
Does Postal allow you to set up an email group? I.e. an email address that
will forward to a defined list of other email addresses any email that is sent
to it? This is a feature of Mailgun but unfortunately it does not quite behave
in the way we need with regards to setting the 'Reply-to' address.

I'm looking forward to seeing the documentation and setting up Postal on my
server.

------
t3ra
Sounds interesting. I have been looking for a proper mail Server for sending
marketing only for a while now.

I'll wait for the doc to update but until then :

Does it do things like IP rotation?

Is it using postfix at the backend or its a complete mail Server

What kind of list management features does it have? (i am looking to compare
with interspire)

------
yowza
Not usable without a proper license.

~~~
bluehatbrit
It seems a license will be added in a few hours -
[https://github.com/atech/postal/issues/6](https://github.com/atech/postal/issues/6)

~~~
cryptoledgers
MIT license has been added

------
hultner
I suppose this is more like a open source alternative to PowerMTA? How would
you compare them?

~~~
throwanem
More an open-source alternative to Sparkpost, if you're looking to compare it
with a Message Systems offering. (But not really all that comparable, since
Sparkpost is nothing without Momentum, and this does not appear to rely on or
include any specific MTA.)

------
jccalhoun
Is it common now to call email "mail?" I don't know anything about this area
(never even heard of mailgun or sendgrid) and wondered if this was some kind
of service for sending actual mail.

~~~
dogecoinbase
What about sendmail, or /usr/bin/mail?

------
IgorPartola
Now if only there was a decent self hosted alternative to MailChimp.

~~~
jonathanbull
You might want to check out [https://sendy.co/](https://sendy.co/), or
[https://emailoctopus.com](https://emailoctopus.com) if you want a hosted
equivalent. Both will save you a lot of money over MailChimp.

Disclaimer: I'm a co-founder of EmailOctopus.

~~~
j_s
Not sure if you or I will catch any hate as I point out that your disclaimer
as founder of emailoctopus was included elsewhere in the thread but not here.

Just pedancics/semantics from me; many in this situation include the info
(some:only) in the profile instead/as well and that has been mostly accepted
in the past. I also appreciated your mention of another alternative too, it's
definitely not over-the-top astroturfing in any way!

PS. Add yourself to AlternativeTo.net

~~~
jonathanbull
You're quite right - I've updated the comment and my profile to include that
information. Thanks for mentioning.

We're already on AlternativeTo but unfortunately below the fold on most of our
competitors.

------
ramoq
Question: if all these companies monitor outgoing SMTP traffic, how are people
sending billions of spam messages a day? What's the loophole?

------
no1youknowz
Has anyone tried elasticemail.com? I've seen their CEO post here before.

If you have, what's your experience with them vs Mailgun or Sendgrid?

Thanks

~~~
lancer
After the demise of Mandrill I started to divide transactional email between
Elastic Email and SparkPost. I send around a thousand messages a month through
them and haven't had any problems with either. I still miss Mandrill though. I
send high volume mail through Mailgun and have had a great experience with
them and their API. I tried integrating with Sendgrid but they have some
constraints around MX records that were showstoppers for me.

~~~
no1youknowz
Thanks. SparkPost mention they have the best deliverability in the market.

How would you rate the deliverability out of 100% for Elastic Email and
SparkPost?

Thanks

------
nik1aa5
So can I use this in front of Postfix?

------
madspindel
This project fails to answer the question 'Why?'.

~~~
Doches
It's a self-hosted alternative to transactional email PaaS providers.
Literally the second sentence in the README:

> Think Sendgrid, Mailgun or Postmark but open source and ready for you to run
> on your own servers.

Your comment fails to answer the question: "Did this HN user even RTFT(itle)?"

~~~
blowski
That's just begging the question. What's the advantage of running on your own
servers vs using SendGrid?

~~~
Doches
Fair. To a certain mindset, "self-hosted" is its own advantage -- but to pick
a couple of advantages out of thin air:

    
    
       + Free: I can run Postal on my own hardware, with no usage limits or costs other than the VPS or AWS costs (which I'm paying anyway)
       + Independent: I'm not relying on a third-party to provide core features. If SendGrid goes down there's nothing I can do about it
       + Private: Maybe I don't want to hand over a list of my user's email addresses to SendGrid.
    

Self-hosting services means I maintain control over them. It's a tradeoff, and
you may value control less than, say, convenience. YMMV.

~~~
r_clark
I feel like you're still begging the question. The proposition is not really
"SendGrid vs Self-hosted SendGrid", but "Self-hosted SendGrid vs any IMAP/SMTP
server":

> Free: I can run Postal on my own hardware, with no usage limits or costs
> other than the VPS or AWS costs.

So is postfix.

> Independent: I'm not relying on a third-party to provide core features.

What features? This is the crux of the question. What do you actually need
that justifies having to maintain a web application?

> Private: Maybe I don't want to hand over a list of my user's email addresses
> to SendGrid.

Again... so is Postfix.

~~~
mtw
Postfix allows you to send emails and that's all.

Imagine a retail business that relies on emails to get information on what's
next: what are the most popular products, what's a good tag line, which
segment of its customers are interested by what, who is most likely to buy.
Sendgrid allows you to add A/B testing, scheduling (send a % of emails at a
specific hour), track who opened emails when, track who unsubsucribed.

If you are doing simple emails like email confirmation or simple user
reminder, these features are totally overkill. But email has still the best
ROI for many businesses and thats why they need sendgrid

------
jpkeisala
Is Postal and services like Mailgun solution for a functionality where email
can be viewed/replied from personal email inbox and a web app? Then somehow
magically these services routes mail to relevant inboxes and the web app like
Zendesk etc?

