قائمة المنع
`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، ويسمّيها OpenEmail\Constants\SuppressionReasons. ويبحث q: في العناوين.
يعيد list صفحة OpenEmail\Result\Page واحدة، من الأحدث، ويعيد listAll كل الصفوف في مصفوفة واحدة، ويعيد iterate كائن Generator يسلّم صفًا واحدًا في كل مرة. والصف مصفوفة فيها id وemail وreason وdetail وremovable وcreatedAt، ويأخذ add مصفوفة واحدة فيها email.
يعيد add الصف سواء كان جديدًا أو موجودًا من قبل، فتكراره لا يضر، ويعيد العميل محاولته بعد فشل في الشبكة. ويرفض remove الارتداد الدائم بـ 409 suppression_not_removable، يُرمى في صورة ConflictException، وهو ما يخبرك به removable مسبقًا. والمفتاح المقيّد بعناوين أو نطاقات بعينها يستطيع قراءة القائمة ولا يستطيع تغييرها: إذ يجيبه add وremove بالخطأ 422 capability_unsupported.