Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How do you do your email delivery?
49 points by buro9 on Jan 15, 2012 | hide | past | favorite | 43 comments
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.



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.


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.


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.


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!


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


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.


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.


"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.


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.


It makes total sense, thanks for clarifying.


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.


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.


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.


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


We use this script: https://raw.github.com/37signals/37s_cookbooks/edefbd17eeb8f... to check spamhaus, abuseat, sorbs, etc.


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.


Yes. Sorry used the package name(dkim-filter). It's a milter though.


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.


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/


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.


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.


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.


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


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


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.


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.


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.


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


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


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/


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.)


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


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


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?


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.


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


Maybe the fear of being listed as spam and being on a blacklist. Or it is hard to install and configure email sys.


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


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


Amazon SES definitely. Really cheap and painless.


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


mailchimp & sendgrid


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: