配信停止
`suppressions->list`、`listAll`、`iterate`、`get`、`add`、`remove`。
すべてのメソッド
use OpenEmail\Constants\SuppressionReasons; $complaints = $client->suppressions->listAll(reason: SuppressionReasons::COMPLAINT);echo implode(', ', array_column($complaints, 'email')), PHP_EOL; $row = $client->suppressions->add(['email' => '[email protected]']); if ($row['removable']) { $client->suppressions->remove($row['id']);}このワークスペースが送信しないアドレスです。起きた時点で記録されるハードバウンスと苦情、および手作業でブロックしたアドレスがこれにあたります。そのいずれかへの送信は、何かが出ていく前にその受信者の分だけ拒否されます。読むには settings:read、変更するには settings:write が必要で、どちらも「ブロック中のアドレス」画面を保護しているスコープです。reason: は bounce、complaint、manual のいずれか 1 種類だけを残し、OpenEmail\Constants\SuppressionReasons がそれらを定義しています。q: はアドレスを検索します。
list は新しい順の OpenEmail\Result\Page を 1 つ返し、listAll はすべての行を 1 つの配列で返し、iterate は行を 1 つずつ yield する Generator を返します。行は id、email、reason、detail、removable、createdAt を持つ配列で、add は email を持つ 1 つの配列を受け取ります。
add は、新しい行でも既存の行でもその行を返すため、繰り返しても害はなく、クライアントはネットワーク障害の後にリトライします。remove はハードバウンスを 409 suppression_not_removable で拒否し、ConflictException としてスローされます。これは removable で事前に分かります。特定のアドレスやドメインに限定されたキーは、リストを読めても変更はできません。add と remove はそうしたキーに 422 capability_unsupported を返します。