Fazland's MailUp Rest Client is an unofficial PHP Rest Client for the Email and SMS GatewayProvider MailUp.
- php >= 7.0
- php-http/client-implementation >= 1.0
- php-http/discovery >= 1.0
- php-http/message >= 1.0
- php-http/message-factory >= 1.0
- psr/http-message >= 1.0
- psr/http-message-implementation >= 1.0
- symfony/options-resolver >= 2.7
The suggested installation method is via composer:
$ composer require fazland/mailup-rest-client
It's really simple. First of all, configuration!
The mandatory configuration parameters are:
username
password
client_id
client_secret
The only optional parameter is cache_dir
. If set, the access token are saved in that path.
Just create a Context
object passing to the constructor the parameters as an array:
use Fazland\MailUpRestClient\Context;
$config = [
'username' => 'your_username',
'password' => 'your_password',
'client_id' => 'your_client_id',
'client_secret' => 'your_client_secret',
'cache_dir' => 'path_to_your_cache_dir', // Optional
];
$httpClient = new HttpClientImplementation();
$context = new Context($config, $httpClient);
To create a MailingList
you can follow this example. Please, refer to the MailUp official API docs for the $params
array.
use Fazland\MailUpRestClient\MailingList;
$email = "[email protected]";
$params = [
// your params...
];
$list = MailingList::create($context, $email, $params);
You can also obtain all the existing lists in your MailUp account by calling the static method MailingList::getAll()
:
use Fazland\MailUpRestClient\MailingList;
$lists = MailingList::getAll($context);
Once you have an instance of MailingList
, you can do the following operations:
- add a
Recipient
use Fazland\MailUpRestClient\Recipient;
$list->addRecipient(new Recipient('Aragorn', '[email protected]', '3333333333', '+39'));
- update a
Recipient
use Fazland\MailUpRestClient\Recipient;
$list->updateRecipient(new Recipient('Aragorn', '[email protected]', '3334444444', '+39'));
- remove a
Recipient
use Fazland\MailUpRestClient\Recipient;
$list->removeRecipient(new Recipient('Aragorn', '[email protected]', '3333333333', '+39'));
- find a
Recipient
by itsemail
$recipient = $list->findRecipient('[email protected]'); // null returned if current email was not found
- retrieve all the groups of the current list:
$groups = $list->getGroups();
- least, but not last, import an array of
Recipient
objects:
$list->import($recipients);
...
Contributions are welcome. Feel free to open a PR or file an issue here on GitHub!
MailUp Rest Client is licensed under the MIT License - see the LICENSE file for details