

Ask HN: How do you do your email delivery? - buro9

Following on from https://news.ycombinator.com/item?id=3466168 a couple of the options deal with email hosting, but within that email hosting is subject to further definition.<p>The question in the prior poll didn't distinguish between accounts of staff, notification emails, mailing lists, etc.<p>Additionally whilst the comments recognised that email is hard (DomainKeys, SPF, Spam blacklisting) few people shared how they solved each of the scenarios above either in-house or using a cloud provider.<p>I'm personally using Google Apps for staff email, mailman for mailing lists and postfix on local servers for notifications (queued via the app).<p>There is a time sink in managing mailman and postfix however, and recently it seems for some users email reaches the spam box, so I'm looking for (a) cloud provider/s who could replace both the notifications and mailing list roles.
======
chaz
For corporate mail, definitely use a separate setup. Lots of options here, and
it's a question of what tools your org is comfortable using. We happen to be
on Exchange. For transactional emails sent automatically by our web servers,
we use Sendgrid. It's been very reliable and cheap (we have low volume and are
grandfathered into their old pricing plan). Just setup your Postfix to point
to their server with your credentials, and go.

For newsletters that are hand-crafted, we're on Mailchimp, which as been
pretty good. Their interface can be great for some people, and passable for
others. It's designed to be very easy to use, but if you don't like one of
their templates and need pixel-perfect control, it can be a little bit
challenging. HTML editors is tough for everyone.

To protect themselves and encourage good behavior, they will issue you a
warning if you get more than 0.1% abuse (spam) complaints. This is generally
not a problem if you're doing a double opt-in and not using imported lists.
However, it's possible to make mistakes and cause problems. We ran a survey
once to people who bought X, and manually pulled these email addresses out of
our eCommerce engine. We sent them an email, but didn't scrub them against all
of our unsubscribe lists, which is not a feature they have built-in -- you
need to download all of the unsub/abuse lists and use Excel/scripts to remove
them. We got a high abuse rate and they paused our account from sending more
emails until we filled our their form explaining why it was high.

Nice looking forms and default templates make Mailchimp a great place to
start, especially if there's a marketing person that you can turn the whole
thing over to. You can work with their APIs, which are adequate.

------
dclaysmith
I use Google Apps for internal email. We use the Postini add on for archiving
and spam filtering. I'm very happy with this set up.

For sending newsletters, I use Constant Contact. I previously used Campaign
Monitor their per-email pricing model became far too expensive over time.
Campaign Monitor's service really was excellent and I think I'll switch back
to them now that their pricing has changed. (Wrote a blog post about the
pricing policies of these services [http://www.smithshop.com/price-
convergence-and-mailing-list-...](http://www.smithshop.com/price-convergence-
and-mailing-list-services)).

For our transactional emails, we use PostmarkApp. Delivery wise--they are
fine. Their admin interface leaves much to be desired. Searching old emails
_usually_ causes an application error. This bug (in a common functional area)
has been happening for the whole time (1+ year) I've been using the service.
Hopefully they'll spend some time and polish up the app a bit. I initially
chose them over SendGrid because their pricing was better (at our levels) but
I may switch over in the future.

I've definitely chosen the SaaS/managed solutions over the 'roll-your-own' own
email server. There are just too many (different kinds of) headaches involved
with each of these not to outsource.

~~~
orenmazor
Hey David,

I hear you on the dashboard issues. We're working hard to fix that. In fact,
we just rolled out a specialized search backend to deal with the search issues
and I think its Insanely Great! (sorry, just reading through the jobs
biography and that comes up on every page.)

If you have any other suggestions, I'd love to hear them. Feel free to ping me
on twitter or at oren@wildbit.com

cheers.

------
LogicX
There's an excellent comparison of transactional email providers which can be
of help: [http://socialcompare.com/en/comparison/transactional-
emailin...](http://socialcompare.com/en/comparison/transactional-emailing-
providers-mailjet-sendgrid-critsend)

On another front, we use to use mailchimp - great product, but can start to
get expensive when you don't use any of its features, so we switched to
mailjet for our largest list.

Most important point is that rolling your own is more headache and time
investment than its worth as compared to the costs associated with these
services.

Still setup your SPF records and domainkeys though!

~~~
buro9
Thanks for that, through it I found elasticmail ( <https://elasticemail.com/>
) which looks pretty cool, going to give it a whirl today.

~~~
LogicX
I'm really curious what about elasticmail strikes your fancy over mailjet or
sendgrid? I've visited their site before and saw little reason to get excited
about their service.

------
__david__
I use good old sendmail for SMTP and cyrus for IMAP. I don't think SMTP has to
have "5 nines" uptime because SMTP is _very_ resilient to machines being
offline due to the default delivery timeouts being very long (4 or more days).

My approach to email is that I know that it will take an entire day to set it
up no matter how simple it seems. There's nothing like configuring an SMTP
server that makes you think, "wow, email is surprisingly complicated!"

But! Once it's set up I find it's one of the more stable services I run. Very
little hand-holding is needed once it's up and running.

Cyrus is a little harder (mostly because you have to deal with SASL--yet
another layer of authentication). But it runs fast and smoothly. I found that
upgrading between major versions can be a large hassle (I had to do manual
database conversions). Luckily it's so stable that there hasn't been a new
major version in a number of years.

For mailing lists I use mailman (though honestly I haven't run a mailing list
in about 10 years so there may be better alternatives now).

For email automation I usually just use a pipe-style alias in /etc/aliases.

~~~
aidian
I set up postfix + dovecot (with Squirrel Mail front end) on my own VPS just
to see if I could do it, and it worked fine. It was a huge PITA to set up, but
I knew that going in. The only problems I ever had was with Craigslist
bouncing my email, and I fixed that. BUT this is just a personal email.

------
citricsquid
I use google apps for email accounts and postmark (<http://postmarkapp.com>)
for app notification type emails. I've had no problems with deliverability
with Postmark, they are more expensive than some alternatives and if you're
doing hundreds of thousands of emails I believe they have some issues with
queuing (a complaint I saw from a person I know off) but besides that they're
fantastic. I've sent about 80,000 emails in the past 6 months and had nothing
but a great experience, I've never once had an issue from a user complaining
their email didn't arrive, which is nice.

~~~
pestaa
"The mail, in which you asked for some money, unfortunately did not arrive."

I mean, it is quite hard to notice something is missing when you don't know it
should be there.

~~~
citricsquid
The emails I'm sending are account verifications so that they can access the
site(s) and we had complaints before it was switched to using Postmark and
since the switch there have been no complaints.

~~~
pestaa
It makes total sense, thanks for clarifying.

------
themcgruff
At 37signals:

We send 40M - 100M emails from our applications each month. We run 3 outbound
relays on top of Postfix. We sign about 95% of our outbound mail with Domain
Keys using dkim-filter. We also use SPF records for all of our sending IPs /
domains. We monitor our sending IP reputation with via Nagios checks and
manual review. Use also have checks setup for the most common black lists.
Every email that goes out from our applications has an "opt out" link. (This
is really important!)

We used to send all of our mail via one IP address. That meant any given spam
report could really hurt our deliverability. Today we send from about 10+ IP
addresses, divided amongst the apps. If the reputation of one IP goes down
because of a false report, we just decrease the volume on that IP until the
reputation goes back up.

For our "company" mail we use Google Apps. For our "marketing" mail use
Mailchimp.

~~~
pan69
Interesting. Could you elaborate on the Nagios reputation monitoring? I'm
wondering how what sources you use for this. Thanks.

~~~
themcgruff
We use this script:
[https://raw.github.com/37signals/37s_cookbooks/edefbd17eeb8f...](https://raw.github.com/37signals/37s_cookbooks/edefbd17eeb8f25f6d42a01e7f207848fb23e49f/nagios/files/default/plugins/check_bl_async.pl)
to check spamhaus, abuseat, sorbs, etc.

------
madd
We used to manage the setup ourselves (spf, domainkeys, bounce tracking etc),
but switched to Sendgrid (<http://sendgrid.com>) for all our outgoing e-mails
a couple of months ago. Delivering around 600k e-mails/month. Delivery has
been great, and we haven't had to spend hours of troubleshooting and managing
our own outgoing mail servers. The Sendgrid management interface is OK, but
could be better.

------
konaaceo
We use Postmark. The service is super easy to setup and very reasonably
priced. We changed from Godaddy about 6 months ago because of how traditional
servers queue email. With postmark and other services like it, there is no
queue. This has a great impact on customers that are ready to signup and
use/buy your products/services right now. Postmark makes it easier for us to
capture that business.

It took me a long time to find a great one but thankfully my guy at Rackspace
hooked my up. I now pass this on to you. <http://www.postmarkapp.com/>

~~~
buro9
I got the impression through reading the Postmark site that it's an API only
solution.

Is that the case?

I'm not sure the amount of pain I currently experience is enough for me to
switch to a provider that expects me to build my own dashboard.

If they do have a dashboard, what on earth does it look like? Without signing
up I cannot seem to find it documented or a demo dashboard to play with.

~~~
konaaceo
It is an API service and will take you about 25 minutes to do the initial set
up. Here is why its worth it. Once you set up the server its done. It takes 2
minutes to set up a new email address (support, general, sales, etc.) But
after the setup, you don't have to worry about anything. If they update, your
service is not effected and that leaves you free to stress about more
important things. Big or small company, it is well worth the initial upfront
time and will save you a great deal of headache in the future.

------
jpadilla_
I use Postmark for any kind of transactional email in production, since I
can't use them for mailing lists, I use Mailchimp. I recently tried Amazon SES
which is still in beta, but it's very easy to use and cheap. But I can't
compair it at all with Postmark. The kind of support I get from those guys
over at Wildbit is great, something you will probably never experience on AWS.
It is definitely a time sink to setup and manage all the right requirements
for an almost perfect email solution. I just directly save all those hours and
headaches and delegate that to the guys who know about that and do it right.

------
alpb
There is also that Amazon Simple Email Sevice <http://aws.amazon.com/ses/> on
the market.

~~~
imcqueen
we use this, i'm pretty happy with it so far

------
adamlindsay
Used Sendgrid for a few apps, was completely fine, never could get past the
interface and various "value-adds" they were pushing. Lately I have been
moving everything to Amazon SES. All of my hosting is with AWS already so this
just makes sense. Its not full of frills, but it works and works well. Not
only that but it is fairly inexpensive.

------
kpi
We are using qmail with ezmlm and while probably outdated now, this has been
rock solid for years. When starting a new SMTP server I use postfix. Keep in
mind that sending out newsletters from a new IP needs a lot of extra effort to
keep the IP off blacklists and the mails out of the spam filters.

------
Joe8Bit
We use Google Apps for internal email and have nothing but good things to say
about it.

We use MailGun for everything else (transactional's and to send from our
internal email marketing app). It's cheap'ish, stable, and the API is rock
soild. I recommend them to anyone who asks.

------
secure
I use postfix + dovecot + D-SPAM + sup-mail (and mailman for mailing lists)

------
TimLangley
Google Apps for internal mail SendGrid for "bulk" mail and PostmarkApp for
transactional "need to get through"

I've had no problems with any of above

------
eli
Note there's a big difference between transactional email providers like
sendgrid or ses and those like mailchimp that cater to newsletters.

~~~
huxley
True, though MailChimp does offer STS (Simple Transactional Service) which
builds on top of Amazon SES (you only pay Amazon's fees, the service is free
from MailChimp).

<http://apidocs.mailchimp.com/sts/1.0/>

~~~
eli
Interesting. I did not know that.

(I think it's a mistake to try and go the other way, though. Building the
newsletter/subscription management tech is harder than it seems.)

------
GigabyteCoin
I am using just the bare minimum. PHP PEAR's mail wrapper and proper mx setup.

I was able to blast out 20,000 former customers without making it onto a
single blacklist, send out about 300-400 emails per day, and am just about to
do a blast to 35,000 current customers again. All free of charge.

Why does anybody pay for mail service, I wonder?

~~~
JS_startup
Because the risk isn't worth the money saved, and I imagine if you got
deliverability statistics on those e-mails you'd find that many of them don't
make it to the recipient.

Many web-based companies would effectively be out of business if their web
server was listed on a few major blacklists.

~~~
GigabyteCoin
Don't make it as in how? Getting caught in the junk folder?

------
RBerenguel
We use sendgrid at work for big mail lists, for smaller, a free account from
mailchimp and for staff email, own servers.

------
178
For internal/staff email based on the standard FLOSS tools, with some extra
features and a tidy self-contained installation i recommend kolab:
<http://wiki.kolab.org/Kolab2_Installation_-_Source>

------
mbarlow
For staff we are using Google Apps. MailChimp for mailing lists. App testing
uses Google Apps. App production (notification emails, etc) uses Amazon SES.

------
jeffchuber
Amazon SES definitely. Really cheap and painless.

------
davidw
A mixture of Postfix and this: <http://www.ietf.org/rfc/rfc1149.txt>

------
slouch
mailchimp & sendgrid

------
billpatrianakos
Thanks for following up on my poll. I really wanted the details on email like
you mentioned but didn't want to have an outrageous number of choices. When I
mentioned email I meant all of the choices you mentioned and I'm disappointed
people didn't explain that part much but I'm glad people are getting into it
here.

Anyway, I'll join in here. I've got 3 hosting accounts and 1Heroku app. On my
shared host (mediaTemple gs) I just use their default email. For app
notifications I'm using PHP's built in mail function with properly setup MX.
There's no need for anything fancy on that account as its a dominantly static
site that I just need to receive email from and use simple contact-form-type
functions for sending mail from the site itself.

Then there's my VPS at Webbynode which I use to host multiple sites with
Apache virtual hosts. I'm usually a huge control freak but decided to farm
email out to Google Apps for the sites hosted on that server as they're mostly
my playground/experiment projects. I'm still deciding what to use for outgoing
mail from the apps on that server and for now I haven't enabled any
notifications from anything hosted there.

Then there my Linode which is my baby that I care for to such a degree that
I'm almost paralyzed by having to choose how to configure it perfectly. I used
to have that server set up with Postfix in addition to my favorite app that
I'm building there but just last night decided to remove it because of some of
the comments from my earlier poll (the one that this post's OP wrote this in
response to). I'm going to farm out company email because I don't want to deal
with needing more memory, storage, processing power, etc. plus I'm just one
man and dealing with domain keys, blacklists, and all those other delivery
headaches are just too much for one person and I'd rather focus on the app
itself. I'm leaning towards Google Apps for company email, Postmark for email
from the app itself, plus Twilio for SMS notifications.

For all my mass emailing needs (newsletters and marketing and such) I've been
using MailChimp for several months and I'm very happy with it. I use it across
all my sites and apps that need it. I didn't mention my Heroku account because
I don't plan to use any kind of email for that one. I may _want_ it but
there's no real justification for using it as that one is yet another
playground for Ruby experiments and learning. It's hard for me to resist
however because there are so soooo many new and shiny toys out these days that
it's hard to focus. I've always been a strict PHP guy and now I'm off in 10
different directions with Rails, node, Python and everything else that ever
gets mentioned on HN. I'm a dabbler in everything and a master of nothing
(actually I'm a master of a few things but the dabbling to mastering ratio is
heavily weighted toward the dabblng side).

So that's what I use and I'd also add that SaaS/PaaS and VPS/dedicated hosting
is superior to other options but I still think its always good to have a spare
shared hosting account lying around for times when you need to get something
simple up very quickly as in just a few clicks. I love my VPSes to death but
I've found myself glad to have my extra MT (gs) account on a number of
occasions.

