- PVSM.RU - https://www.pvsm.ru -

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу

TL;DR: Mandrill захотел поднять цены в 4 раза. Они нашли способ через интеграцию с MailChimp.

В феврале этого года, как гром среди ясного неба, пришло письмо от Mandrill о том, что с 27го апреля он перестаёт существовать как независимый сервис и теперь чтобы им пользоваться нужно будет интегрировать свой Mandrill аккаунт в платный аккаунт MailChimp. Именно платный, пусть даже и самый дешевый. Вот как выглядит ценник MailChimp:

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу - 1

Напомню, что раньше Mandrill был бесплатным для небольших проектов до 12.000 писем в месяц (около 400 в день). Сейчас же как минимум $20 + сколько напосылаешь писем.

«Вот негодяи!» — подумал я про себя и отправился гуглить и тестить альтернативы, потому как мне как пользователю неприемлемо такое отношение со стороны сервиса.

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу - 2

Детально рассматриваемые в статье альтернативы:

  • MailGun [1] — популярная
  • SparkPost [2] — не такая популярная, но еще лучше

У обоих вариантов есть свои преимущества.


Альтернатива # 1: MailGun [1] — The Email Service For Developers

  • 10,000 бесплатных емайлов в месяц
  • Следующие 500,000 — $0.00050 за штуку
  • Следующие 1,000,000 — $0.00035
  • Следующие 5,000,000 — $0.00015
  • Все остальные будут по $0.00010

Прайсинг [3] довольно простой и без подводных камней.

Теперь что касается процесса интеграции. Здесь и дальше в статье я буду смотреть на мир глазами PHP разработчика, да простят меня остальные сообщества :)

MailGun любят и часто интегрируют поддержку в фреймворки (например, в Laravel [4]) за отличный API. Для того чтобы его попробовать достаточно зарегистрироваться и curl-ом обратиться к endpoint-u со своим API ключом:

curl -s --user 'api:key-3ax6xnjp29jd6fds4gc373sgvjxteol0' 
    https://api.mailgun.net/v3/samples.mailgun.org/messages 
    -F from='Excited User <excited@samples.mailgun.org>' 
    -F to='devs@mailgun.net' 
    -F subject='Hello' 
    -F text='Testing some Mailgun awesomeness!'

Для PHP на гитхабе лежит официальная библиотека mailgun-php [5].

Панель управления содержит удобный dashboard и логи всех писем:

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу - 3

Есть вебхуки для реагирования на различные события:

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу - 4

Для некоторых своих проектов я остановился именно на Майлгане. 10,000 бесплатных писем в месяц хватает за глаза. В случае с Laravel интеграция занимает полчаса, из которых 5 мин вы тратите на указание API ключа и 25 мин на тестирование :)


Альтернатива # 2: SparkPost [2] — Better Email Delivery for Better Customer Engagement

100,000 бесплатных емайлов в месяц (это в 10 раз больше чем у MailGun).

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу - 5 [6]

По неизвестным мне причинам, этот сервис не такой популярный и узнал я о нем совершенно случайно — из комментов к какому-то посту.

Кроме 100 тысяч бесплатных писем у него есть еще одна киллер-фича — subaccounts, которую они запилили две недели зазад [7].

Subaccounts это когда вы каждому своему пользователю выделяете подаккаунт с независимой репутацией. Это даёт много преимуществ. Во-первых, вы можете посмотреть логи по каждому подаккаунту отдельно. Во-вторых, независимая репутация подаккаунтов позволяет применять те или иные меры для пользователей вашего проекта в зависимости от их «кармы» :)

Для моего проекта массовых email-открыток и приглашений Subaccounts API — жизненно необходимая функциональность для выявления и заблаговременного блокирования спамеров.

API у них такой же отличный как и у MailGun и использовать его можно как угодно [8], хоть из командной строки:

curl -XPOST 
  https://api.sparkpost.com/api/v1/transmissions 
  -H "Authorization: <YOUR API KEY>" 
  -H "Content-Type: application/json" 
  -d '{"content": {"from": "testing@sparkpostbox.com", "subject": "Oh hey", "text":"Testing SparkPost - the most awesomest email service in the world"}, "recipients": [{"address": "developers+curl@sparkpost.com"}]}' 

Интеграция с PHP происходит с помощью официальной open source библиотеки php-sparkpost [9] и не вызывает никаких затруднений:

use SparkPostSparkPost;
use GuzzleHttpClient;
use IvoryHttpAdapterGuzzle6HttpAdapter;

$httpAdapter = new Guzzle6HttpAdapter(new Client());
$sparky = new SparkPost($httpAdapter, ['key'=>'<YOUR API KEY>']);

$results = $sparky->transmission->send([
    'from'=>'testing@sparkpostbox.com',
    'html'=>'<html><body><p>Testing SparkPost - the world's most awesomest email service!</p></body></html>',
    'subject'=> 'Oh hey!',
    'recipients'=>[
      ['address'=>['email'=>'developers+php@sparkpost.com']]
    ]
]);

Кроме того, слоган SparkPost и данные eDataSource говорят о хорошей доставляемости:

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу - 6


В конце отмечу, что мы рассматривали и другие сервисы такие как:

Эти сервисы по той или иной причине нам не подходили и я их не рассматриваю детально в статье, но может быть кто-то найдет то, что ему нужно как раз в одном из них.

До конца жизни старого доброго Мандрила осталось меньше месяца, надеюсь что этим постом я немного помог определиться с альтернативами для перехода.


Ну и опрос на последок. Если вы не пользователь Mandrill, пожалуйста, нажмите «Воздержаться».

Автор: limonte

Источник [15]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/mailchimp/116696

Ссылки в тексте:

[1] MailGun: https://www.mailgun.com/

[2] SparkPost: https://www.sparkpost.com/

[3] Прайсинг: https://www.mailgun.com/pricing

[4] Laravel: https://laravel.com/docs/5.2/mail

[5] mailgun-php: https://github.com/mailgun/mailgun-php

[6] Image: https://www.sparkpost.com/pricing

[7] запилили две недели зазад: https://www.sparkpost.com/blog/subaccounts-even-more-awesome/

[8] как угодно: https://developers.sparkpost.com/

[9] php-sparkpost: https://github.com/sparkpost/php-sparkpost

[10] Amazon SES: https://aws.amazon.com/ses/

[11] SendinBlue: https://www.sendinblue.com/

[12] MailJet: https://www.mailjet.com

[13] SendGrid: https://sendgrid.com/

[14] SocketLabs: http://www.socketlabs.com/

[15] Источник: https://habrahabr.ru/post/280634/