How do you handle outbound transactional customer email

hey folks

just wondering how you all handle sending transactional emails from your multi-tenant SaaS

do you use a service like mailgun / sendgrid and send from your domain on behalf of your customers or do you get your customers to link up one of their own outbound mail accounts.

I see

option 1. send on behalf of your customers from {yourdomain}email1.com to carry a some risk of getting blacklisted etc and hitting all of your customers.

option 2. get your customers to enter details of their own mail account to send from. this carries different risks i.e. barrier to entry plus sensitive creds for external mailboxes

would love to hear everyones thoughts and how they handle things

thanks
Dean

1 Like

I was looking into this for a project and it seemed that postmark would do what I needed. I didn’t continue with the project but I’m still looking forward to using postmark at some point.

We use a combination of Customer.io and Mailgun.

For e-mails that we need insights into (e.g. onboarding stuff, etc.), we use Customer.io and for almost everything else, Mailgun. Customer.io’s also really good for sending periodic e-mails like monthly updates, etc.

Mailgun’s also got a great API that can be used to add domains, verify them, and send e-mails from those domains. You can build on top of that to send e-mails on behalf of customers’ domains without asking them for their e-mail credentials. The downside here is that it’s a bit more technical (the customer needs to setup some records) but that’s what we’ve been doing and it’s worked well so far.

Option 1.

I use AWS’s SES, aka Amazon Simple Email Service. Which is equivalent to mailgun and sendgrid.

For ease of onboarding, deliverability, and monitoring, I’d say you really need to use such a service.

You could perhaps offer the customers the chance to use their own mail server as an optional extra, but I certainly wouldn’t make it the norm.

1 Like

Thanks for the reply, not looked at customer.io but will do.

Do you send on behalf of your customer i.e. from your domain or one of their domains/sub-domains.

I’m thinking reputation etc

thanks Steve, same question to you as swastik…

Do you send on behalf of your customer i.e. from your domain or one of their domains/sub-domains.

I’m thinking reputation etc

I send from our company domain.

We allow both. By default, we send from our own domain (something like username@mail.ourapp.com) and if the user sets up their Mailgun credentials, we send it from their domain. We add that domain to our Mailgun account and once the customer verifies all’s good, we switch emails to go out from their domain.

In our case, our users need to be able to send from their own domains otherwise I wouldn’t do it. It’s just extra hassle. Also: for blacklists, I use a tool like mx-toolbox to monitor if the IP we’re sending from gets blacklisted. I’ve seen it happen a lot (Mailgun offers shared IPs for free; dedicated IPs are $60/month) but the IP often gets whitelisted by itself pretty quickly. In case it doesn’t (had it happen only once so far) I contacted Mailgun and got it changed.

1 Like

We use http://postmarkapp.com/ and for customers that want to send from their own domain, that involves confirming the “sender signature” via clicking a button in an email Postmark sends them. This confirms our “ownership” of that sender signature to Postmark so we can send from it.

1 Like

I’ll admit I’m biased, but I’d highly recommend Postmark if you care about delivery and customer service. I used them for Sifter, and after selling Sifter, I joined Wildbit (makers of Postmark). There are a few options for sending on behalf of your customers with Postmark.

Ultimately, you should check them all out. Try out their APIs, their status pages, their support. No matter what, make sure you test their deliverability. Everybody claims great deliverability, but based on the customers that come to us after trying all of the budget options, a lot of their claims simply aren’t true.

The big difference with Postmark is that we don’t allow bulk/promotional emails and focus exclusively on transactional email. The benefit of this is that all of the emails through Postmark see higher engagement, and thus we end up with a stellar reputation with the various inbox providers. Gmail even officially recommends separating transactional and bulk email onto different subdomains and IPs so that your bulk email doesn’t drag down the reputation of your more critical transactional emails.

That’s really just the tip of the iceberg, but from a deliverability standpoint you have to ask why none of the other providers are willing to share their delivery statistics on their status pages. Or they ask you to pay more and upgrade to a dedicated IP.

Another way to gauge any vendor that works great for email is to do some twitter searches. “(vendor) spam”, “(vendor) support”, etc. You’ll get a much more accurate view of how well providers do (or don’t) take care of customers. Or you can just try emailing support a technical question to test them out and see who responds the fastest and with the best answer.

Email may look like a commodity on the surface, but I promise there’s much more too it than that. I’m more than happy to answer any questions or help out.

2 Likes

+100 for PostmarkApp, happily giving them money for 3+ years. API is dead simple to work with. No spam issues ever.

We use combination of SES (https://aws.amazon.com/ses/) and Office 365.

We are not sending emails on behalf of the customers.

+1 for Postmark. I use it both for outbound and parsing inbound as json.

I use Postmark, works fantastic.

Our app sends/receives ~100k emails every day. Mailgun, AWS SES or any other IaaS provider would cost us tens of thousands per month.

So we use our own Postfix installed on a t2.Micro Ubuntu machine on AWS. $4/month. hahah.

Takes time to build up reputation for an IP address tho, so big email providers “recognize” you (gmail/hotmail/yahoo/office365)

Hey, Alex. It would defiitely be more expensive, but it wouldn’t be on the order of “tens of thousands per month.” With Postmark, it would be about $1,250 every 1.7 months at a rate of $0.25 per 1,000. Or, if you wanted to pre-pay for a year, it could be even cheaper than that with custom pricing. It’s more likely you’d be in the $5,000-$10,000 per year range rather than “tens of thousands per month.” And we’re generally the most expensive due to better delivery and performance than the other providers.

Obviously if a custom server is working for you, you’re in great shape, and at your volume, you’d definitely know if you were having issues with lost or delayed emails. Generally speaking, though, teams running their own mail servers doesn’t yield great results without a lot of effort. Mojang (Minecraft) was also running their own mail server before switching to us and the switch saved them from having to hire additional support people due to delivery issues and operations costs. So it’s definitely not black and white.

1 Like

I looked at this but AWS and Azure seem to be pretty much permanently blacklisted. How did you get around that?

AWS and Azure seem to be pretty much permanently blacklisted

Never heard of that nor had any issues. Just make sure you set up rDNS & SPF

Generally speaking, though, teams running their own mail servers doesn’t yield great results without a lot of effort

Uhm… Nope:) More of a “set and forget” kind of thing, haven’t touched the server for months.

Also, if you’re a b2b and especially if you’re a hipaa-compliant b2b you’re basically required to run your own server.

1 Like

thanks for all the answers folks

postmarkapp does look good and i’ll be investigating more.

sorry for the delay but day job and continual research / dev of product have sucked up time

it’s really appreciated that y’all took the time to answer. thank you