Today, when I send basic emails, I use the Mail class, which is a custom wrapper using SwiftMailer, for example:
<?php
Mail::create('Message title')
->template('Template string or view path. Global variable "var" is "{var}". Current user is {username}.')
->tags(array('var' => 'value 1'))
->from('contact@mydomain.com')
->to('mail@example.com', array('username' => 'Boris'))
->transport(Mail::SMTP)
->send();
It works great for basic emails, but cannot be used to send newsletters for several reasons:
- Pool Management
- Delayed Shipment
- Lack of tracking
So, I was thinking of a way to centralize more complex email management. I made a diagram:

I don’t want the remote server to save any contact information , only campaigns, recipients and statistics, for example, the following diagram:

< " ) , , API , :
<?php
$result = NewsletterAPI::getRecipientsViewReport($campaignRef);
, . , .
, , admin API- API (, ).
, -, api , (, " mailing_api_key" " ).
,
, ?
( ), , .
, , :
, , , , :
.. , .
, - , :
, , .
.