News for hackers. Stuff that matters.

Ask HN: How do you do your email delivery?

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.

The question in the prior poll didn't distinguish between accounts of staff, notification emails, mailing lists, etc.

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.

I'm personally using Google Apps for staff email, mailman for mailing lists and postfix on local servers for notifications (queued via the app).

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.

( 43 comments | 49 points | on HN )
Re:Ask HN: How do you do your email delivery? by chaz on Sunday January 15, 2012 @08:59AM (#3467136)
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.

Re:Ask HN: How do you do your email delivery? by dclaysmith on Sunday January 15, 2012 @06:42AM (#3466943)
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-...).

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.

Re:Ask HN: How do you do your email delivery? by orenmazor on Monday January 16, 2012 @12:52PM (#3471641)
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 [email protected]

cheers.

Re:Ask HN: How do you do your email delivery? by LogicX on Sunday January 15, 2012 @06:01AM (#3466905)
There's an excellent comparison of transactional email providers which can be of help: http://socialcompare.com/en/comparison/transactional-emailin...

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!

Re:Ask HN: How do you do your email delivery? by buro9 on Sunday January 15, 2012 @06:40AM (#3466940)
Thanks for that, through it I found elasticmail ( https://elasticemail.com/ ) which looks pretty cool, going to give it a whirl today.
Re:Ask HN: How do you do your email delivery? by LogicX on Thursday January 19, 2012 @09:34PM (#3488023)
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.
Re:Ask HN: How do you do your email delivery? by __david__ on Sunday January 15, 2012 @07:35AM (#3467013)
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.

Re:Ask HN: How do you do your email delivery? by aidian on Sunday January 15, 2012 @12:59PM (#3467726)
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.
Re:Ask HN: How do you do your email delivery? by citricsquid on Sunday January 15, 2012 @05:59AM (#3466904)
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.
Re:Ask HN: How do you do your email delivery? by pestaa on Sunday January 15, 2012 @06:44AM (#3466947)
"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.

Re:Ask HN: How do you do your email delivery? by citricsquid on Sunday January 15, 2012 @06:47AM (#3466953)
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.
Re:Ask HN: How do you do your email delivery? by pestaa on Sunday January 15, 2012 @09:27AM (#3467189)
It makes total sense, thanks for clarifying.
Re:Ask HN: How do you do your email delivery? by themcgruff on Sunday January 15, 2012 @11:21AM (#3467457)
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.

Re:Ask HN: How do you do your email delivery? by pan69 on Sunday January 15, 2012 @02:49PM (#3468040)
Interesting. Could you elaborate on the Nagios reputation monitoring? I'm wondering how what sources you use for this. Thanks.
Re:Ask HN: How do you do your email delivery? by themcgruff on Sunday January 15, 2012 @03:54PM (#3468211)
We use this script: https://raw.github.com/37signals/37s_cookbooks/edefbd17eeb8f... to check spamhaus, abuseat, sorbs, etc.
Re:Ask HN: How do you do your email delivery? by buro9 on Sunday January 15, 2012 @01:47PM (#3467851)
You meant dkim-milter right?

That's great info btw, that's not far from what I've currently got but mailman instead of Mailchimp and I've only got the one IP so when someone hits the spam button it's affecting all types of mail until it recovers.

Re:Ask HN: How do you do your email delivery? by themcgruff on Sunday January 15, 2012 @03:51PM (#3468200)
Yes. Sorry used the package name(dkim-filter). It's a milter though.
Re:Ask HN: How do you do your email delivery? by madd on Sunday January 15, 2012 @05:49AM (#3466889)
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.
Re:Ask HN: How do you do your email delivery? by konaaceo on Sunday January 15, 2012 @09:32AM (#3467199)
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/

Re:Ask HN: How do you do your email delivery? by buro9 on Sunday January 15, 2012 @09:35AM (#3467205)
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.

Re:Ask HN: How do you do your email delivery? by konaaceo on Sunday January 15, 2012 @10:06AM (#3467268)
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.
Re:Ask HN: How do you do your email delivery? by jpadilla_ on Sunday January 15, 2012 @07:31AM (#3467006)
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.
Re:Ask HN: How do you do your email delivery? by alpb on Sunday January 15, 2012 @07:52AM (#3467036)
There is also that Amazon Simple Email Sevice http://aws.amazon.com/ses/ on the market.
Re:Ask HN: How do you do your email delivery? by imcqueen on Sunday January 15, 2012 @09:28AM (#3467191)
we use this, i'm pretty happy with it so far
Re:Ask HN: How do you do your email delivery? by adamlindsay on Sunday January 15, 2012 @07:12AM (#3466978)
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.
Re:Ask HN: How do you do your email delivery? by kpi on Sunday January 15, 2012 @09:55AM (#3467250)
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.
Re:Ask HN: How do you do your email delivery? by Joe8Bit on Sunday January 15, 2012 @07:20AM (#3466993)
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.

Re:Ask HN: How do you do your email delivery? by secure on Sunday January 15, 2012 @07:19AM (#3466989)
I use postfix + dovecot + D-SPAM + sup-mail (and mailman for mailing lists)
Re:Ask HN: How do you do your email delivery? by TimLangley on Sunday January 15, 2012 @07:54AM (#3467037)
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

Re:Ask HN: How do you do your email delivery? by eli on Sunday January 15, 2012 @11:14AM (#3467433)
Note there's a big difference between transactional email providers like sendgrid or ses and those like mailchimp that cater to newsletters.
Re:Ask HN: How do you do your email delivery? by huxley on Sunday January 15, 2012 @12:34PM (#3467657)
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/

Re:Ask HN: How do you do your email delivery? by eli on Sunday January 15, 2012 @09:20PM (#3469077)
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.)

Re:Ask HN: How do you do your email delivery? by GigabyteCoin on Sunday January 15, 2012 @08:06AM (#3467060)
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?

Re:Ask HN: How do you do your email delivery? by JS_startup on Sunday January 15, 2012 @08:27AM (#3467095)
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.

Re:Ask HN: How do you do your email delivery? by GigabyteCoin on Monday January 16, 2012 @02:08AM (#3469715)
Don't make it as in how? Getting caught in the junk folder?
Re:Ask HN: How do you do your email delivery? by designium on Sunday January 15, 2012 @08:15AM (#3467075)
Maybe the fear of being listed as spam and being on a blacklist. Or it is hard to install and configure email sys.
Re:Ask HN: How do you do your email delivery? by RBerenguel on Sunday January 15, 2012 @07:23AM (#3466997)
We use sendgrid at work for big mail lists, for smaller, a free account from mailchimp and for staff email, own servers.
Re:Ask HN: How do you do your email delivery? by 178 on Sunday January 15, 2012 @08:33PM (#3468955)
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
Re:Ask HN: How do you do your email delivery? by mbarlow on Tuesday January 17, 2012 @12:02AM (#3473811)
For staff we are using Google Apps. MailChimp for mailing lists. App testing uses Google Apps. App production (notification emails, etc) uses Amazon SES.
Re:Ask HN: How do you do your email delivery? by jeffchuber on Sunday January 15, 2012 @10:21AM (#3467302)
Amazon SES definitely. Really cheap and painless.
Re:Ask HN: How do you do your email delivery? by davidw on Sunday January 15, 2012 @07:37AM (#3467018)
A mixture of Postfix and this: http://www.ietf.org/rfc/rfc1149.txt
Re:Ask HN: How do you do your email delivery? by slouch on Sunday January 15, 2012 @10:46AM (#3467352)
mailchimp & sendgrid
Re:Ask HN: How do you do your email delivery? by billpatrianakos on Sunday January 15, 2012 @03:36PM (#3468153)
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.