siteworx/mail-client

siteworx 专业 API 的客户端

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

This package is not auto-updated.

Last update: 2024-09-27 11:21:00 UTC


README

https://email.siteworxpro.com/api

API 访问受限制,需要账户。

composer require siteworx/mail-client

要求 PHP >7.0

用法

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();

你可以为 API 传输提供缓存,你的 API 令牌将自动为其生命周期进行缓存。

$memcache = new Memcache;
$memcache->addServer($host);

$transport = new Siteworx\Mail\Transports\ApiTransport([
	'client_id' => 'k4ndk...4kkfa',
	'client_secret' => 'Jdv4...4kvD'
]);

$transport->setCache($memcache);

你可以使用任何实现了 PSR-6 CacheInterface 的缓存。

捕获消息

如果你正在测试,可以通过将 true 的值传递给 send 方法来捕获消息。

$client->send(true);

有效载荷将被发送到 API 并进行验证,但在发送之前将被捕获。

延迟消息

你可以延迟消息,以便它们在特定时间发送。

$time = new DateTime();
$time->add(new DateInterval('P1D'));
$client->sendTime($time);

这将使电子邮件在第二天发送。