Я успешно использовал конечную точку передачи PHP в Sparkpost PHP API https://github.com/SparkPost/php-sparkpost#send-an-email-using-the-transmissions-endpoint с https://github.com/SparkPost/php-sparkpost#wait-synchronous, но теперь мне нужно отправить два разных электронных письма на два разных адреса, в одну и ту же точку моей программы .
Казалось, очевидным способом было использование асинхронного метода https://github.com/SparkPost/php-sparkpost#then-asynchronous, но я не могу заставить это работать с конечной точкой после. Код ниже.
Или есть лучший способ? Я не был уверен, как заставить синхронный код выполнять два отдельных запроса один за другим.
$promise1 = $sparky->transmissions->post([
'content' => [
'from' => ['name' => 'My Service', 'email' => 'noreply@myservice.com'],
'subject' => 'Booking Confirmation',
'html' => $html,
],
'recipients' => [['address' => ['email' => 'myemail@gmail.com']]],
'options' => ['open_tracking' => false, 'click_tracking' => false]
]);
$promise1->then(
function ($response) // Success callback
{
echo('success promise 1');
},
function (Exception $e) // Failure callback
{
dump($e->getCode()."<br>".$e->getMessage());
}
);
$promise2 = $sparky->transmissions->post([
'content' => [
'from' => ['name' => 'My Service', 'email' => 'noreply@myservice.com'],
'subject' => 'Another Email',
'html' => $html,
],
'recipients' => [['address' => ['email' => 'anotheremail@gmail.com']]],
'options' => ['open_tracking' => false, 'click_tracking' => false]
]);
$promise2->then(
function ($response) // Success callback
{
echo('success promise 2');
},
function (Exception $e) // Failure callback
{
dump($e->getCode()."<br>".$e->getMessage());
}
);