siteworx/mail-client

api client for the siteworx professionals api

v1.4 2022-11-25 03:00 UTC

This package is not auto-updated.

Last update: 2025-07-04 15:07:42 UTC


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.