Setting up and self-maintaining email servers is not easy, but self-hosting this service is almost critical if you care anything about keeping your most important data private and in your control.
I have seen thread after thread of "don't self-host your email, just use Amazon SES":
The frustrating thing is: They are not 100% wrong.
If we all just stand on the sidelines and watch more and more people get referred to these "cloud SMTP providers", the more difficult it will be for us in the future to actually send an email from our own server.
I linked a few providers in my Ansible + Postal repo, but I even think that list is outdated or has a few additional hoops since I last updated it.
If we can make this as easy as possible for new syadmins, our chances of self-hosting email in the future will be greater than if we do nothing now.
Making this education easy, free, and accessible to sysadmins is the answer to help protecting all of our privacy in the future.
If we get a good discussion, I will have no problem organizing everything into a guide as a PR. Looking forward to hearing your thoughts! 馃榿
I've hosted Exim as an MTA on Steadfast Networks for years and had a lot of luck with normal business-class correspondence.
Just getting started with Postal, I chose Digital Ocean with cost in-mind, but I'd be confident that another Steadfast VPS would be just as reliable.
There are so many providers out there, I think the approach @jaydrogers has followed listing the mainstream ones is a great start. There are also experiences of them littered throughout the issues here as well. For the most part, the issue seems to be how the provider handles port 25 rather than whether they are reliable in general or not.
IMHO listing all the less common providers would turn the list into a list of all possible providers and that would get lengthy and difficult to keep on track.
FWIW we use AWS and apart from needing to request permission to use port 25 and fill out a different form for reverse DNS, it works as you'd expect. I can't remember anyone specifically reporting they use Azure but there has been a few talking about Google Cloud not allowing port 25 at all.
Going off topic slightly, in light of https://github.com/postalhq/postal/issues/192 and the changes that have happened since, I'd hope there was an option for a documentation site that could be maintained and/or PR'ed by everyone but that is a dream for now.
Hey guys,
I didn't mean to ghost this thread. Life has been busy! 馃榿
I just wanted to give you and update on this:
It's a very young project in "draft" format, but I will be adding as much information as I know soon. Any contributions would be greatly appreciated and we can even merge some of the content back into Postal's docs (if it makes sense).
Looking forward to making self-hosting email easy with you guys! More updates soon 馃憤
FWIW, I would not class Postal as self hosted email as it has no concept of mailboxes, etc like the other solutions mentioned in the reddit thread. Postals whole purpose is to enable other software to send messages, incoming email is not stored but routed away to applications.
That said, some information about SMTP-friendly providers would likely be useful to new users of Postal.
Oh for sure! I am breaking email into three categories:
I will definitely not put Postal into categories 2 or 3 馃榿
These top sections would still apply to Postal (regardless of the final type of product they choose at the end)

Let me know if you have any other thoughts/opinions. I'd love to hear them!
Ill tag in.. It will take a second to get to the point., but i think it will clear up the question of whether or not compiling a list or even writing up a "how to" is viable.
I've been using postal for a while now, maybe 2 years. I happened upon postal while searching for a better solution to my existing mailing software, which I wrote, that works directly with postfix and dovecot. I needed some additional flexibility, and did not want to jump back in, relearn, and modify a crap ton of code that I had written 2-3 years prior.
Shortly after implementing postal and test burning a couple IP addresses to see what kind of send rate i could get. I got a crazy idea to build a platform for launching, replicating, and dropping MTA servers (and some other functionality/ stand alone servers ) utilizing linode. The working model allowed for a user to enter 6 fields of data, and by way of linode's api, would launch new linode, with ubuntu. a stackscript would install postal, and upon completing the install, my code would modify the yml file, update the databases, add dns entries, etc.. At that point, the user would be prompted to add dns entries to their primary domain, when they completed this, my code would install letsencrypt ,create the user, add the organization,smtp server, create endpoints..etc. Lastly and most importantly, through linodes api, a snapshot was created of the system so when the user burned their IP address by sending a couple million unsolicited emails, my platform could allow the user to easily re-deploy their now blacklisted postal server to a new linode with a new IP address with a click of a button.
Why tell you about it? because I stopped working on it. There are not many people/businesses that end up actually going self hosted for an mta/smtp solution. Most (most... not all) of the people looking for a self hosted solution are doing so because they want to send a very high number of emails out to a very large number of non-subscribers and as many of the majors charge a very very high premium for that self hosting is a way to drop that price down to nearly nothing. While I was planning on offering a product which is somewhere in between self hosted and managed, I began doubting that I could actually charge even 10% of what sendgrid charges for the ability to send out 1 million emails to non-subscribers. Additionally, the market segment for people looking to mass market to nonsubscribers, and...have the know how, or are willing learn is like 8. As in like 8 people...lol
How could i know that there are so few people willing to put my platform, or for that matter, your write up, to good use as well as put in the time and effort to learn. Ask willpower for the top 10 repeat questions he gets, the number of times he has answered those same questions over and over, and how often it is he sees logs, and yml's attached to the question post. Most people will not invest the time to learn.
While I feel like the write up and the list of hosting providers would be greatly useful for people willing to learn. I'm confident it will only result in willpower fielding more questions regarding problems that are not related to postal, for hosting providers he is unfamiliar with.

@willpower232 .... thanks btw, for your diligence. I don't post often, so making sure to send you a "you are a badass" nod! Ive yet to have a problem with postal, for which you had not already supplied someone elsa the solution for here.
No problemo, glad the issues are helpful although I hasten to add that I would not endorse mass market to nonsubscribers, the concept of deploying servers programmatically with a few clicks is very interesting.
@willpower232 I was not suggesting you endorsed in any way, mass marketing in the manner described. You guys have built an extremely efficient, as well as user friendly product. You must know that it can be used in that capacity. But that is unimportant, nuclear fusion can be used for advancement or destruction. I am more than willing to hand over the code if you are interested in it. I will spin up the instance, check it for any issues push the code to git later this evening. Its primarily php (codeigniter). The deployment functionality for postal servers, smtp proxy servers, and mailing list software was solid. I had set it up to run on monthly tokens that represented a single server instance and allowed for as many re-deployments as desired. I had completed the functionality to deploy and re-deploy, however, as linode does not have very strong reseller management or billing functionality, there was a lot of monitoring, and accounting functionality that needed implemented. I know I made it some of the way through it, but not to the point of going live. Anyway, thank you again.