Mandrill Alternative: The SparkPost Survival Guide for Mandrill Users

Ewan Dennis
Feb. 25, 2016 by Ewan Dennis

***updated 10/24/2018 with the latest plan information

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 SparkPost account if you haven’t already. BTW, we’ve made it really easy to get started. Our free developer accounts include up to 15,000 emails for the first 30 days, then 500/month thereafter. They offer the same built-in functionality and performance as our paid plans — with no time limitation.

2. Configure Sending Domains, DKIM, and SPF

Check out our Getting Started with SparkPost page for an easy quick start. Or if you’d rather, 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 Term
SparkPost Term
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

Try out our 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

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.

  • 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!

  • 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 [email protected] 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.

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

  • Hey Amit,

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

  • Hi,

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

  • 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

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

  • 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

  • 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 ?

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

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

  • Thanks Micah! Appreciate the feedback!

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

  • 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

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

  • 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:[email protected]” “I:[email protected]” “P:rDZcobdEasdasdxOXsdasdad2Q”

  • Hi Ankur!

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

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

    why?

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

  • Hi Tapan,

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

    Thanks!

    Jennifer

Related Content

View In Browser for SparkPost

Learn how to incorporate View In Browser, a link found at the top of emails that opens up the email in a browser, into emails sent via SparkPost.

read more

Zero-Downtime Database Migrations

Learn about how SparkPost has standardized the process for replacing database backends in high throughput, zero-downtime production environments.

read more

Support for Google AMP for Email in SparkPost Coming Soon

We’re working with Google to add support for Accelerated Mobile Pages (AMP) for Email to the SparkPost service. Here’s a preview of how it works.

read more

Get started and start sending

Try SparkPost and see how easy it is to deliver your app’s email on time and to the inbox.

Try Free

Send this to a friend