TL; DR: Mandrill wanted to raise prices 4 times. They found a way to integrate with MailChimp.
In February of this year, like a bolt from the blue, a letter from Mandrill arrived that from April 27 it ceases to exist as an independent service and now in order to use it you will need to integrate your Mandrill account into a MailChimp
paid account. It is paid, even the cheapest. Here is the MailChimp price tag:

')
I recall that earlier Mandrill was free for small projects up to 12,000 letters per month (about 400 per day). Now at least $ 20 + how many letters are sent.
“Here are scoundrels!” - I thought to myself and went to google and test alternatives, because as a user, this attitude from the service is unacceptable to me.

The alternatives considered in detail in the article:
Both options have their advantages.
Alternative # 1: MailGun - The Email Service For Developers
- 10,000 free emails per month
- The next 500,000 - $ 0.00050 apiece
- The next 1,000,000 - $ 0.00035
- The following 5,000,000 - $ 0.00015
- All others will be at $ 0.00010
Pricing is quite simple and without pitfalls.
Now for the integration process. Here and further in the article I will look at the world through the eyes of a PHP developer, forgive me the rest of the community :)
MailGun is loved and often integrates support into frameworks (for example, in Laravel ) for an excellent API. In order to try it it is enough to register and curl to access endpoint-y with its API key:
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!'
For PHP, there is an official mailgun-php library on github .
The control panel contains a convenient dashboard and logs of all emails:

There are webbooks to respond to various events:

For some of my projects, I stopped on Mailgan. 10,000 free emails per month is enough for the eyes. In the case of Laravel, integration takes half an hour, of which 5 minutes you spend on specifying the API key and 25 minutes on testing :)
Alternative # 2: SparkPost - Better Email Delivery for Better Customer Engagement
100,000 free emails per month (this is 10 times more than MailGun).

For reasons unknown to me, this service is not so popular and I found out about it quite by accident - from the comments to some post.
In addition to 100 thousand free letters, he has another killer feature - subaccounts, which they wrote down two weeks ago .
Subaccounts is when you allocate a subaccount with an independent reputation to each of your users. This gives many advantages. First, you can see the logs for each sub-account separately. Secondly, the independent reputation of subaccounts allows you to apply certain measures to the users of your project, depending on their “karma” :)
For my project, massive email cards and invitations Subaccounts APIs are vital functionality for detecting and blocking spammers in advance.
The API is as great as MailGun and you can use it as you like , even from the command line:
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"}]}'
Integration with PHP occurs using the official open source library php-sparkpost and does not cause any difficulties:
use SparkPost\SparkPost; use GuzzleHttp\Client; use Ivory\HttpAdapter\Guzzle6HttpAdapter; $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']] ] ]);
In addition, the SparkPost slogan and eDataSource data speak about good deliverability:

UPDATE: SparkPost is officially unavailable from Russia and Ukraine. The problem is solved by registering through a gateway, for example “from Germany” (thx Softer ).
In the end, I note that we considered other services such as:
For one reason or another, these services did not suit us and I do not consider them in detail in the article, but maybe someone will find what he needs in just one of them.
There is less than a month left before the end of the life of the good old Mandrila, I hope that with this post I helped a little to determine the alternatives for the transition.
Well, the survey finally. If you are not a Mandrill user, please click "Refrain".