siteworx / mail-client
api client for the siteworx professionals api
Installs: 5 295
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 0
Open Issues: 0
Requires
- php: >=7.0.0
- guzzlehttp/guzzle: ^7.5.0
- psr/log: ^3.0.0
- psr/simple-cache: ^3.0.0
README
https://email.siteworxpro.com/api
Access to the API is restricted and requires an account.
composer require siteworx/mail-client
Requires PHP >7.0
Usage
require 'vendor/autoload.php'; $transport = new Siteworx\Mail\Transports\ApiTransport([ 'client_id' => 'k4ndk...4kkfa', 'client_secret' => 'Jdv4...4kvD' ]); $client = new Siteworx\Mail\Client($transport); $client->setSubject('Test Subject'); $client->setFrom('from@email.com'); $client->addTo('an@email.com'); $client->addTo('another@email.com'); $client->setBody('Test Message!'); $result = $client->send();
You can provide a cache to the api transport and your api token will automatically be cached for it's lifetime.
$memcache = new Memcache; $memcache->addServer($host); $transport = new Siteworx\Mail\Transports\ApiTransport([ 'client_id' => 'k4ndk...4kkfa', 'client_secret' => 'Jdv4...4kvD' ]); $transport->setCache($memcache);
You can use any cache that implements the PSR-6 CacheInterface.
Catching Message
You can catch message if you are testing by passing in the value of true
to the send method
$client->send(true);
The payload will be sent to the api and validated but will be caught before it is sent.
Delaying Messages
You can delay message so they are sent at a specific time.
$time = new DateTime(); $time->add(new DateInterval('P1D')); $client->sendTime($time);
This will send the email the next day.