Sparkpost PHP API https://github.com/SparkPost/php-sparkpost#send-an-email-using-the-transmissions-endpoint with https://github.com/SparkPostで PHP 送信エンドポイントを正常に使用しました/php-sparkpost#wait-synchronousですが、プログラムの同じポイントで、2 つの異なるメールを 2 つの異なるアドレスに送信する必要があります。
非同期メソッドhttps://github.com/SparkPost/php-sparkpost#then-asynchronousを使用するのが明らかな方法のように見えましたが、ポストエンドポイントでこれを機能させることはできません。以下のコード。
それとももっと良い方法がありますか?同期コードで 2 つの個別の要求を次々に実行する方法がわかりませんでした。
$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());
}
);