. */ namespace SP\Domain\Notification; use SP\Core\Messages\MailMessage; use SP\Providers\Mail\MailParams; /** * Class MailService * * @package SP\Domain\Common\Services */ interface MailServiceInterface { /** * Checks mail params by sending a test email * * @throws \SP\Domain\Common\Services\ServiceException */ public function check(MailParams $mailParams, string $to): void; /** * @param string $subject * @param array|string $to * @param MailMessage $mailMessage * * @throws \PHPMailer\PHPMailer\Exception * @throws \SP\Domain\Common\Services\ServiceException */ public function send(string $subject, $to, MailMessage $mailMessage): void; /** * @throws \PHPMailer\PHPMailer\Exception * @throws \SP\Domain\Common\Services\ServiceException */ public function sendBatch(string $subject, array $to, MailMessage $mailMessage): void; public function getParamsFromConfig(): MailParams; }