Siteworx Professionals, LLC

siteworx/mail-client (2.2.1)

Published 2025-06-18 00:32:35 +00:00 by rrise

Installation

{
	"repositories": [{
			"type": "composer",
			"url": ""
		}
	]
}
composer require siteworx/mail-client:2.2.1

About this package

api client for the siteworx professionals api

Mail client for the siteworx pro email API

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.

Dependencies

Dependencies

ID Version
guzzlehttp/guzzle ^7.8
php >=8.3.0
psr/log 1.* | 2.* | 3.*
psr/simple-cache ^1.0.0 | ^2.0.0 | ^3.0.0
Details
Composer
2025-06-18 00:32:35 +00:00
0
Siteworx Pro
MIT
9.9 KiB
Assets (1)
Versions (1) View all
2.2.1 2025-06-18