Mandrill Alternative: The SparkPost Survival Guide for Mandrill Users

Ewan Dennis
Feb. 25, 2016 by Ewan Dennis

mandrill alternative

Surprised by news from Mandrill? We understand how frustrating that can be, and we have a Mandrill alternative for you. If you want to get started with SparkPost fast, our developer community has got you covered! Here’s a quick guide to getting started and getting your transactional emails up and running.

TL;DR

  1. Create a SparkPost account
  2. Configure sending domains, DKIM, and SPF
  3. Migrate to the SparkPost API
  4. Migrate your templates
  5. Build something awesome

1. Create a SparkPost Account

First, sign up for a free SparkPost account if you haven’t already. BTW, we’ve made the pricing really easy: up to 100,000 emails/month for free.

2. Configure Sending Domains, DKIM, and SPF

Check out our Getting Started Walkthrough video for an easy quick start. If video’s not your thing, simply follow the in-app SparkPost dashboard as it walks you through the basic account configuration steps.

3. Migrate to the SparkPost API

SparkPost’s API is fantastic. Here’s the API documentation. As a general rule, if you see it in our UI, you can access it in our API, too.

API Clients

Just want to get your hands in some code? You’ll find client libraries for the usual suspects on GitHub (and maybe some unusual ones, too):

Basic Concepts

Sending: Transmissions

The Transmissions endpoint is the business end of SparkPost’s email sending capability. It supports both transactional and non-transactional mail streams, templating, tracking, variable substitution, attachments and all the usual goodies. It’s documented here with sample code in all the usual languages.

Sending: SMTP

You can also use traditional SMTP to inject your mail into SparkPost. Here’s an intro video and documentation for the readers.

Receiving: Relay Webhooks

On the inbound side, you can use our Relay Webhooks along with Inbound Domains to accept inbound mail.

Tracking: Webhooks and Message Events

Beyond delivery and receipt, you can use Webhooks or the Message Events endpoint keep track of deliveries, bounces, opens, clicks, and all the other events SparkPost emits.

BTW, here’s a definitive reference to the available events.

Translating Mandrill to SparkPost Terminology

Mandrill and SparkPost use slightly different nomenclature to describe similar functions. Here’s a SparkPost terminology primer for those coming from Mandrill’s API.

Mandrill Says
SparkPost Says
Notes
merge vars substitution data SparkPost’s substitution data is similar to Mandrill’s with rich JSON-like structure.
messages/search-time-series metrics SparkPost Metrics offer time-series aggregate views on everything to do with your mail streams. They also power the reporting UI.

messages/send

messages/send-template

messages/send-raw

transmissions A single endpoint for all types of transmission.

 4. Migrate Your Templates

**Update: we have an awesome new Mandrill-to-SparkPost template migration tool! Now, it’s even easier to get started with SparkPost as a Mandrill alternative. If that sounds good to you, go get it and read how to use the tool to convert and migrate your Mandrill templates.

Like Mandrill, SparkPost’s templates use a handlebars-like syntax with {{braces}}  surrounding variables.  You can edit templates in the SparkPost UI or directly using the templates API endpoint.

If you’re just pulling variables into your template for simple personalization, you might be able to use your Mandrill templates unchanged with SparkPost.  Otherwise, here are a few syntax pointers.

Feature
Mandrill Syntax
SparkPost Syntax
conditions
loops
nested variables
variables

5. Build Something Awesome

Support Resources

  • General help: You can find help with most questions about SparkPost functionality, account configuration, and our web app in the SparkPost Support Center.
  • Developer stuff: For help with code and general developer support, the SparkPost Developer Hub is a great resource. And, if you want to chat something through with our developer community team, join our Slack community.

Integrations

–Ewan

we love developers

26 Comments

  • I think you have a misprint. I checked your account options on Heroku add-ins, and your free account is limited to 10k/mo. Above you say 100k/mo.

    Reply
  • Hi Tim,

    We updated our pricing yesterday, so the 100k/mo is correct. We are working on making sure that message is updated everywhere.

    Thanks!

    Reply
  • regarding the 100K/month free – would you be anytime soon likely to switch that back to a lower rate… it’s what I’m worried about, so once you get all the mandrill customers, then something will change like limits for free sends per month – good to know if thats in your plans at all! don’t wish to get stung again!

  • Hi Chet!

    Please see this post from our CEO, Phillip. He is personally promising that should the terms of our free pricing tier change in the future, we will honor it for any customer currently enrolled at that tier, for the life of that account.

    https://www.sparkpost.com/blog/my-promise-to-developers-sparkpost-pricing/#.VtXVXZMrLUo

    Thanks!

    Jen

  • While the monthly limit is 100,000, your daily limit is 500! How does that work?

  • Hey there!

    Verifying your email address will help with the limit increase (you can do that here), only takes a few minutes to update. Beyond that, please email support@sparkpost.com and they can help with limit increases from there.

    Hope this helps

  • Just clarifying that my email was/is in fact verified. Confirmed in dashboard. This does not remove the 500/day limit.

  • From docs elsewhere, “SMTP message substitutions currently not supported”. Dang. The one Mandrill feature you don’t support.

    Reply
  • How do we manage the subaccount features provided by Mandrill.

    We are a product company and need to manage the reputation at the subaccount level.

    Reply
  • Hey Amit,

    In case you missed it, subaccounts are now available. Check out the docs here!

    Reply
  • Hi,

    What’s the equivalent to Mandrill subaccounts in order to isolate the reputations?

    Reply
  • Hi Alexandre,

    Please check out this blog from our VP of Product, some exciting things coming very soon!

    https://www.sparkpost.com/blog/subaccounts-even-more-awesome/#.VuyNQRIrI_V

    Jennifer

    Reply
  • Do you plan on “Evolve” like Mandrill did and become really expensive, in the near future?

    Reply
  • Hi Diego,

    No plans to do that, please read our CEO’s promise to developers here: https://www.sparkpost.com/blog/my-promise-to-developers-sparkpost-pricing/#.VvGR8RIrKL4

    Reply
  • are there any predefined handle bar macros, like {{date}} for current date or something like that, where can i find complete documentation for dynamic templating ?

    Reply
  • How do I do that?
    “We’re sorry. SparkPost is not currently available in your location.”

    Reply
  • Just want to say THANK YOU guys. I hate Mandrill now — wish I had known about you before Mandrill, and that giant time waste would have never happened. Also, your entire setup process is much easier and better than Mandrill ever was.

    Reply
  • Thanks Micah! Appreciate the feedback!

    Reply
  • Too bad it’s not available in my country 🙁

    Reply
  • Hi guys, I’m migrating some Mandrill templates, and I have, in some of the html code, something like:
    {{@key}}

    Does someone know, how to translate this “@key” to sparkpost?

    Thanks in advance

    Reply
  • Hi Daniel!

    If you hop over to slack.sparkpost.com, our team can help there very quickly. I’ll get an answer asap and reply here as well, but slack will most likely be faster.

    Reply
  • I have mandrill configured in ubuntu sendmail .. primarily 2 files..

    HOW TO REPLACE THESE WITH SPARKPOST ….THANKS

    1) sendmail.mc (within etc/mail) the following
    MAILER_DEFINITIONS
    MAILER(local')dnl
    MAILER(
    smtp’)dnl

    define(SMART_HOST',smtp.mandrillapp.com’)dnl
    define(confAUTH_MECHANISMS', EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
    FEATURE(authinfo',hash /etc/mail/auth/client-info’)dnl

    2) client-info (In etc/mail/auth)

    AuthInfo:smtp.mandrillapp.com “U:info@paasdasia.com” “I:info@paasdasia.com” “P:rDZcobdEasdasdxOXsdasdad2Q”

    Reply
  • Hi Ankur!

    Would you mind posting this in our community slack channel? Our team hangs out there and can help you troubleshoot.

    Reply
  • Fatal error: Declaration of GuzzleHttpClient::send() must be compatible with GuzzleHttpClientInterface::send(GuzzleHttpMessageRequestInterface $request)

    why?

    Reply
  • I want to implement this in my .NET project. should I get example code?

    Reply
  • Hi Tapan,

    If you hop over to our community slack channel, our team should be able to help you in real-time.

    Thanks!

    Jennifer

    Reply

Share your Thoughts

Your email address will not be published.

Related Content

Community Spotlight: How Topol Makes Creating Beautiful HTML Email Templates Easy

Building HTML email templates is hard. Learn about the app that Jan Tlapak and Sendmark created for anybody in need of building beautiful HTML emails.

read more

Running Your First Technical Workshop: The "I Have No Idea What I'm Doing" Edition

Running a technical workshop is difficult! Where do you start? How much time do you allot? What audience do you aim for? Cole talks through what he learned.

read more

Introducing Our SendGrid Template Migration Tool

Automatically migrate any SendGrid template over to SparkPost. This open source tool supports both UI- and API-driven email template migration workflows.

read more

Start sending email in minutes!

The world’s most powerful email delivery solution is now yours in a developer-friendly, quick to set up cloud service. Open a SparkPost account today and send up to 100,000 emails per month for free.

Send 100K Emails/Month For Free

Send this to a friend