Я использовал Mandrill столько, сколько себя помню. Он отправляет транзакционную электронную почту, такую же, какую вы получаете при регистрации новой учетной записи. Как и я, многие были рады использовать бесплатный аккаунт для отправки сравнительно небольшого количества писем в месяц.
То есть до недавнего времени, когда Мандрилл вызвал небольшой переполох. Суть дела в том, что Мандрил удалил их свободный уровень. Всем, кто хочет отправлять почту через Mandrill, теперь требуется платная учетная запись MailChimp.
Возможно, они устали не зарабатывать деньги на отправку большого количества электронных писем. Безотносительно причины многие были удивлены, и некоторые даже сердились на движение. Это похоже на популярную библиотеку с открытым исходным кодом, которая вдруг стала закрытой.
Что такое SparkPost?
Помня, что люди ищут альтернативы (для подкрепления своих личных рассылок или чего-то еще), я поговорил с Эйдрианом Говардом. Айдриан — адвокат разработчика в SparkPost , с которым я познакомился на FluentConf. Мы немного поговорили о SparkPost и о том, чем он отличается от MailChimp…
1. Что вы думаете о последних новостях MailChimp / Mandrill?
Мы очень уважаем MailChimp и думаем, что они отличная компания. Мы понимаем, когда они говорят, что транзакционная электронная почта не является бизнесом, которым они занимаются. Благодаря нашим прекрасным отношениям с MailChimp они рекомендуют нас в качестве замены Mandrill.
2. Как долго сервис существует и какова его цель?
Мы начали свою работу в конце 1990-х годов, когда Message Systems запустила Momentum, высокопроизводительную платформу обмена сообщениями, обслуживающую отправителей с большими объемами. Со временем клиентская база Momentum выросла, чтобы отправить более 25% всей законной электронной почты, и увидела запуск управляемого облачного предложения. В 2014 году мы запустили SparkPost, предоставляя разработчикам те же возможности доставки, масштабируемости и скорости, что и крупнейшим отправителям в мире, в легко интегрируемом облачном сервисе.
3. Что общего между Mandrill и SparkPost?
Мы оба являемся службами электронной почты SMTP и API.
4. Что вы можете сделать с SparkPost, что вы не можете сделать с Mandrill?
С SparkPost у вас есть возможность использовать единую платформу для отправки всех ваших массовых и транзакционных сообщений. Это означает единый API, язык шаблонов, отслеживание, метаданные и метрики. Мы являемся ведущей в отрасли службой доставки электронной почты с почти 98% размещением входящих сообщений, что на 15 пунктов выше, чем в среднем по отрасли. Мы также предоставляем подробные данные отслеживания (по сравнению с почасовой) по всем нашим 35+ метрикам. В рамках нашей приверженности прозрачности мы включаем показатели задержки доставки в наши метрики. Мы очень ориентированы на разработчиков. Мы поддерживаем 8 клиентских библиотек (пока) и растущий выбор интеграций. Наше сообщество разработчиков является очень важной частью SparkPost. Нам нравится поощрять и давать возможность всем создавать что-то потрясающее.
5. Как работает оценка SparkPost?
Мы только что опубликовали отличный FAQ пост по нашей цене .
Использование SparkPost
Поговорив с Айдрианом, я решил попробовать SparkPost. Оказывается, это довольно легко настроить! Чтобы использовать его, вы должны создать учетную запись:
Когда вы впервые зарегистрируетесь, вам будет предложено выполнить несколько шагов для настройки вашего первого приложения.
Вы можете отправлять почту через SMTP или JSON API. Нажмите «Получить ключ» и держите этот ключ под рукой для кода, который мы собираемся написать.
Затем создайте рабочий каталог и загрузите официальный SparkPost PHP SDK:
composer require sparkpost/php-sparkpost
Вы можете увидеть предупреждение об устаревших зависимостях. Сопровождающие SDK знают об этом и работают над новой версией.
Создайте файл config.php
для хранения ключа:
return [ "sparkpost" => [ "key" => "<your key here>", ], ];
Рекомендуется игнорировать этот файл в Git, поэтому создайте .gitignore
. Это также хорошее место, чтобы игнорировать другие распространенные файлы:
config.php vendor/
Теперь давайте создадим send.php
для отправки писем через SparkPost:
require("vendor/autoload.php"); use SparkPost\SparkPost; use GuzzleHttp\Client; use Ivory\HttpAdapter\Guzzle6HttpAdapter; $config = require("config.php"); $adapter = new Guzzle6HttpAdapter(new Client()); $client = new SparkPost($adapter, [ "key" => $config["sparkpost"]["key"], ]); $results = $client->transmission->send([ "from" => "Sandbox <[email protected]>", "html" => "<html><body>hello html email</body></html>", "text" => "hello plain text email", "subject" => "Testing SparkPost Email", "recipients" => [ [ "address" => [ "name" => "Chris", "email" => "[email protected]", ], ], ], ]);
Официальный PHP SDK требует библиотеки адаптеров под названием Ivory\HttpAdapter
. Это абстрагирует уровень HTTP, так что вы можете переключиться с GuzzleHttp на что-то другое. Это, вероятно, просто для тех, кто застрял на PHP 5.4 и не может использовать последнюю и лучшую версию Guzzle.
С помощью адаптера мы затем создаем экземпляр клиента SparkPost. На этом мы можем получить доступ к свойству transmission
и методу send
.
Вывод
Свойства здесь — только часть того, что вы можете указать через JSON API. Мне любопытно посмотреть, как легко было бы использовать это напрямую, но, надеюсь, это иллюстрирует, как начать использовать SparkPost с минимальными усилиями.
Следите за новостями по этой теме, так как мы исследуем, как использовать API SparkPost для более интересных вещей. Дайте нам знать, если вы заинтересованы в интеграции SparkPost в ваше приложение или любимый фреймворк, в комментариях ниже.